私は現在、反応しているSSRに問題があります。 基本的には、ブラウザから最初のリクエストを送信すると、サーバーは必要なすべてのデータを準備し、レンダリングされたHTMLをユーザーに渡すためにrenderToString()を呼び出す必要があります。高価な初期API呼び出しを伴うリアクションサーバー側レンダリング
fetchInitialData()、その後((レスポンス)=> renderToString(...))
あなたがそれを見ることができるように、サーバは以下となります。
私のサーバー側のコードで、私のようなものを持っていますfetchInitialDataが終了するのを待ってから、レンダリングされたHTMLを送信できます。しかし、ここでの問題は、fetchInitialDataが完了するまでに時間がかかることです。つまり、クライアント側のユーザーは、サーバーが最初のAPI呼び出しを終了するまで空白の画面が表示されます。
私の質問は、API呼び出しを完了したときにサーバーがユーザーに読み込みページを送信する方法はありますか?実際のデータで読み込み画面を更新しますか?私は考えることができる 一つの解決策は、サーバーがまっすぐユーザーにロードページを送信できるようにすることです
======は、ユーザは(componentDidMountにそのAPIを呼び出す) あなたは
をあなたが(ちょうどあなたの画面に収まる部分の)期待される結果の簡素化(フェージング)HTMLコンテンツを作成し、ハードコードすることができますあなたのページのその内容。フェッチ後、1つの置換アクションで偽のコンテンツを実際のデータに置き換えることができます。 –
@JeroenHeier thatsは私が実際にやりたいことです。しかし、サーバーはハードコーディングされたコンテンツを実際のものとどのように置き換えるのでしょうか?私の考えは、サーバーがres.send(html)を呼び出すと、それ以上の制御を持たないということです。 –
多分[this](https://medium.com/@justinjung04/react-server-side-rendering-and-ホットリロード-ffb87ca81a89)がお手伝いします。 –