2015-10-09 4 views
0

Я использую реактивный маршрутизатор для обработки рендеринга на стороне сервера и рендеринга стороны клиента в React. Но как точка входа в мое приложение также имеет следующий код:рендеринг на стороне сервера и рендеринг на стороне клиента ReactJs

Router.run(routes, Router.HistoryLocation, function(Handler, state) { 
    React.render(<Handler/>, document.body) 
    }) 

рендеринг вызывается дважды. Как справиться с этим сценарием.

ответ

0

Вы увидите два рендера, потому что сначала сервер отображает ваше приложение и отправляет его в браузер; то React отображает ваш код во второй раз в интерфейсе, это входит в виртуальную DOM, которая не увидит разницы, поэтому он не изменит ваш фактический DOM. Нужно, чтобы второй рендер получил ваш код в виртуальной DOM, чтобы быть живым на фронте, готовым к следующему ходу.