reactjs / ja.react.dev

React documentation website in Japanese

Home Page:https://ja.react.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ReactDOM.render() と ReactDOM.hydrate() の扱い

mendelssohnbach opened this issue · comments

Reactの学習を始めたばかりの初心者です。

Reactが「既存のプロジェクトに徐々に追加可能」であることは読みました。

Hello World

ReactDOM.render が使われています。解説の通りの結果を得ました。

しかし、リファレンス の補足に

ReactDOM.render() を使用することは非推奨となり、React 17 では削除されます。

とあります。

多くの初心者が公式サイトで学ぶと考えます。

Hello World から リファレンス へリンクを貼っておくことが重要だと考えます。

そのリファレンスで言及されているのは、サーバサイドレンダリング (SSR) というテクニックの話です。ReactDOM.render() 自体が使えなくなるという話ではありません。

サーバで描画されたコンテナをクライアントで再利用するために ReactDOM.render() を使用することは非推奨となり、React 17 では削除されます。代わりに hydrate() を使用してください。

SSR自体がやや上級者向けの話であり、少なくとも Hello World で触れるようなものではありません。SSR を使わずにブラウザで動くアプリを書く場合、ReactDOM.render() を使い続けて全く問題ありません。

(まあ、将来的に並列モードがデフォルトになると書き方がまた微妙に変わるのですが…)