Рендеринг используется для рендеринга компонента в браузере на стороне клиента. Плюс, если вы попытаетесь заменить гидрат рендером, вы получите предупреждение о том, что рендеринг устарел и не может использоваться в случае SSR. он был удален из-за того, что он медленный по сравнению с гидратом.

читал документацию, но я не совсем понял разницу междуhydrate() а такжеrender() в реакции 16.

я знаюhydrate() используется для объединения SSR и рендеринга на стороне клиента.

Может кто-нибудь объяснить, что такое увлажняющий и в чем разница в ReactDOM?

 jack14 нояб. 2017 г., 08:30
ниже приведенный @tophar ответ правильный, если вы хотите больше узнать об этом, вы можете прочитать этоreactjs.org/docs/react-dom.html

Ответы на вопрос(3)

Решение Вопроса

ReactDOMServer документы (выделено мое):

Если вы позвонитеReactDOM.hydrate() на узле, который уже имеет эту серверную разметку,React сохранит его и подключит только обработчики событий, что позволяет вам иметь очень производительный опыт при первой загрузке.

Текст, выделенный жирным шрифтом, является основным отличием.render может изменить ваш узел, если есть разница между исходным DOM и текущим DOM.hydrate будет прикреплять только обработчики событий.

Github проблема, которая представилаhydrate как отдельный API:

Если это ваш начальный DOM<div id="container"><div class="spinner">Loading...</div></div> а затем позвонитеReactDOM.render(<div class="myapp"><span>App</span></div>, document.getElementById('container')) намереваясь сделать на стороне клиента только рендеринг (не гидратацию). Тогда вы заканчиваете<div id="container"><div class="spinner"><span>App</span></div></div>, Потому что мы не исправляем атрибуты.

Просто к вашему сведению причина, по которой они не исправили атрибуты

... Это будет очень медленно для гидратации в нормальном режиме гидратации и замедлит первоначальный рендеринг в дерево без SSR.

вера). SSR дает вам скелет или HTML-разметку, которая отправляется с сервера, чтобы в первый раз, когда ваша страница загружалась, она не была пустой, и поисковые роботы могли индексировать ее для SEO (вариант использования SSR). Таким образом, гидрат добавляет JS к вашей странице или узлу, к которому применяется SSR. Чтобы ваша страница реагировала на события, выполненные пользователем.

Рендеринг используется для рендеринга компонента в браузере на стороне клиента. Плюс, если вы попытаетесь заменить гидрат рендером, вы получите предупреждение о том, что рендеринг устарел и не может использоваться в случае SSR. он был удален из-за того, что он медленный по сравнению с гидратом.

ReactDOM.hydrate() такой же какrender(), но он привыкгидрировать (прикрепить прослушиватели событий) контейнер чье HTML-содержимое было предоставлено ReactDOMServer.React попытается присоединить прослушиватели событий к существующей разметке.

Использование ReactDOM.render () для увлажнения рендеринга сервера не рекомендуется из-за медлительности и будет удалено вРеакция 17 так что пользуйтесьhydrate() вместо.

Ваш ответ на вопрос