完全なサーバー側のレンダリング(Web 2.0以外)では、サーバー側のコードをデプロイすると、ページの再読み込み時にクライアント側のページが直接更新されます。対照的に、Reactベースの単一ページアプリケーションでは、Reactコンポーネントが更新された後でも、古いバージョンのコンポーネントを使用しているクライアントがまだ残っています(まれにブラウザリロード時に新しいバージョンが取得されます)完全にSPAである場合、一部のクライアントは数時間後にページを更新するだけである可能性があります。シングルページアプリケーション(SPA)ページを強制的に更新するにはどうすればよいですか?
古いコンポーネントのバージョンがクライアントによって使用されていないことを確認するためにどのような手法を採用する必要がありますか?
更新:APIは変更されず、Reactコンポーネントのみが新しいバージョンに更新されます。
良い質問です。私はいくつかの方法について考えることができます。 SSE(サーバー送信イベント)またはWebSocketを使用して新しい更新があることをクライアントに通知するので、準備ができたら更新することができます(自動更新によって失望する可能性があることを確認します)。 –
純粋なクライアントが永遠に動くことができるので、コード更新のためだけにソケットを開いたままにしておくことは、おそらく残念です。危険にさらされるサーバー通信です。各サーバーの要求にバージョン・スタンプを送信し、サーバーが何か古いものを取得した場合は、ページをリロードするエラー・メッセージ(ユーザーに最初に質問した後)に応答します。あなたが一度に古いものと新しいものをサポートできれば、古いものが乾くまでそれは理想的です... – dandavis