1
Express経由でReactコンポーネントツリーを送信しようとしていますが、コンポーネントの配列には重要な$$typeof: Symbol.for('react.element')
プロパティが含まれています。私はres.send
を使用しています。オブジェクトの残りの部分は、そのプロパティを除き通過します。私はSymbolとは関係があるかもしれないとアドバイスされています。 JSON.stringify
もプロパティを削除します。Symbolicプロパティを持つJavaScriptオブジェクトがStringifyによって削除されました
私はこの問題をSymbol
の値を持つプロパティに絞り込みました。これはin the documentation for stringify
.に反映されます。なぜそれが事実か回避策が何であるか説明することはできますか?シンボルが値として使用されているので
const obj1 = {
'stringKey': Symbol.for('String Value'),
boolKey: true,
numKey: 1
}
const obj2 = {...obj1, 'stringKey': 'Plain String'}
console.log(JSON.stringify(obj1))
console.log(JSON.stringify(obj2))
うーん、コンポーネントのツリー全体をマーシャリングすることは、私が前に見てきたものではありません。ほとんどの場合、前記ツリーを決定する状態または他のオブジェクトは、ワイヤを介して直列化されるものである。アーキテクチャに関しては、これは厳しい要件ですか? – enjoylife
私は行くように私はそれを作っています。私はこのツールを試していますhttps://github.com/cerebral/marksyと私は、サーバー上のマークダウンファイルを解析しているし、クライアントに解析されたコンテンツを送信し、そこからレンダリングしています。 – motleydev
ああ、サーバー側のレンダリングをお探しですか?その場合、 'renderToString'の出力を使用する必要があります。ドキュメントを参照してください。また、reduxを使用していない場合でも、このチュートリアルには良い情報があります。http://redux.js.org/docs/recipes/ServerRendering.html – enjoylife