現在ReactJSで開発中です。ReactJSクライアント上の非同期時のマークアップ警告
警告:コンテナ内のマークアップを再利用しようとしましたが、 チェックサムが無効で反応し、我々はコンソールに見てみるとき、私たちはReactJSによって、常にこの1回の警告を参照してください。これは一般的にサーバー のレンダリングを使用しており、サーバー上で生成されたマークアップがクライアントが予期していたものではなかったことを意味します。 が動作するが、サーバレンダリングの利点の多くを失ったことを補うために注入された新しいマークアップに反応します。 は代わりに、生成されるマークアップは クライアントまたはサーバー上で異なる理由を把握:
(client) autosuggest__input" data-reactid="9"></d (server) autosuggest__input" placeholder="Value
を問題は簡単です - 私たちは、プレースホルダを取得する入力フィールドを持っています。クライアント側では、コンテンツは非同期に設定されます。サーバー側では、非同期が不可能なため、値は同期設定されます。最終的な値は同じです。しかし、クライアント上では、その非同期的な反応は常にこのエラーを落とします。
クライアントで非同期の値を使用しているのにサーバーで同期しているときに「正しい」方法がありますか?
MeteorJSを使用して反応を起こしているため、クライアントでは非同期/リアクティブです。
この質問にはいくつかの提案がありますが、ここで効果がありますか?:http://stackoverflow.com/questions/33521047/warning-react-attempted-to-reuse-markup-in-a-container-but- the-checksum-was-inv –
クライアントが独自のコンポーネントをレンダリングするのではなく、サーバーから最初にレンダリングされたコンポーネントの状態を変更するようにしようとしました –
@ MarkSchultheissその誤ったoが、これの反応性は、状態のみでなければならないのですか?しかし、データベースのデータを、クライアント上で非同期にフェッチされるがサーバー上で同期するコンポーネントのプロパティとして割り当てるとどうなりますか?たぶん私はあなたが意味するものを手に入れません。 – TJR