DOM操作が非常にスムーズで分かりやすいので、react.jsモデルでかなり売れています。しかし、移動しないテキストや画像の大きなブロックが多く、静的なサイトでどのように活用できるのかと思っています。邪魔になりますか?コンポーネントの状態がテキストのKBであるのは厄介なようです。
DOM操作が非常にスムーズで分かりやすいので、react.jsモデルでかなり売れています。しかし、移動しないテキストや画像の大きなブロックが多く、静的なサイトでどのように活用できるのかと思っています。邪魔になりますか?コンポーネントの状態がテキストのKBであるのは厄介なようです。
回答:
静的ページの生成は、Reactの予想される使用です。 React.renderToStaticMarkup
に似て
renderToString
いますが、これはdata-react-id
Reactが内部的に使用するのような追加のDOM属性を作成しません。これは、Reactを単純な静的ページジェネレーターとして使用する場合に便利です。余分な属性を取り除くと、多くのバイトを節約できるためです。
ここでリアクションを使いすぎると言う人もいます。しかし、死んだものが欲しいときは、やりすぎても問題ありません。反応がこのユースケースに必要なものよりもはるかに多くのことができるという事実は、反応に対する議論ではありません。
ただし、非同期コードを実行する場合は問題が発生する可能性があります。以下を想像してみましょう:
function SchoolClass({classId}) {
const students = await query("SELECT name FROM student WHERE class = ?", classId);
return <ul>
{_.map(students, ({name}) => <li>{name}</li>}
</ul>
}
ただし、関数はReact要素ではなくPromiseを返し、Reactと互換性がないため、これは機能しません。Reactスタイルの静的サイトジェネレーターフレームワークを考案している場合、おそらくこれを許可するでしょう。ただし、Reactはwebappクライアントに焦点を合わせているため、許可されていません。