4

時間を表示する React コンポーネントに同形レンダリングを利用すると、サーバーAが point で時間をレンダリングするという問題にときどき遭遇しますが、クライアントが SPA としてピックアップするまでに、 point からの時間が pointAに変更されB、React がスローします。警告React attempted to reuse markup in a container but the checksum was invalid:

ここに画像の説明を入力

秒などのより細かい時間単位を表示するほど、エラーの発生は明らかに顕著になりますが、分、時間、日などの境界でもこれに遭遇しないようにすることをお勧めします。

クライアント側でReactに効果的に「大丈夫です。DOMのこの小さな部分はサーバー側とは異なる場合があります」と伝える方法はありますか? それとも、私が思いもよらなかった別の方法ですか?

もっと詳しく

React-IntlFormattedRelativeコンポーネントを使用して、アイテムの作成日をわかりやすい方法で表示しています。もちろん、アイテムの作成日はクライアントとサーバー間で同じままです (そして、シリアル化された Flux ストアでクライアントに渡されます) が、サーバーのレンダリング時間とクライアントのレンダリング時間の差は、HTML が頻繁にレンダリングされるのに十分な長さです (常にではありません)。異なります。

4

2 に答える 2

1

クライアント側をレンダリングするとすぐにデータが変更されるので、そのチャンクをサーバー側でレンダリングしても意味がありません。

したがって、この部分の情報をレンダリングする小さなコンポーネントを作成しますが、マウント後に force_update を実行するだけです。

マウントする前に、レンダリングが完了する前にユーザーに表示したいものをすべて入れてください

于 2016-01-26T21:26:11.513 に答える