2016-04-28 20 views
2

React要素をReduxストアの状態に含めることは可能ですか? 「何を描くべきか」を記述する明白なオブジェクトなので、安全であるべきだと思うが、まだそこにある経験はあるだろうか?React要素をRedux状態で格納する:anti-pattern?

なぜこのようなことをしたいですか?私は、Reactツリーの他の場所に記述されている他のコンポーネントを埋め込むことができる抽象的なReactコンポーネントを書いています。これは、例えば、パフォーマンスのために使用される、ハードウェアアクセラレーションされたCSSノードの物理的境界から逃れることを可能にする。

+0

はい。状態は直列化可能でなければなりません。 – zerkms

+1

実際には、React要素は 'Symbol'を保持する' $$ typeof'のために直列化できません。 – Florent

答えて

4

はい - も可能ですが、時間旅行用デバッグ(Reduxの中核的なセールスポイントの1つ)のようなことをする能力が損なわれるため、絶対に反パターンです。詳細はhttp://redux.js.org/docs/FAQ.html#organizing-state-non-serializableのRedux FAQを参照してください。

Reactコンポーネントの内部状態でReactコンポーネントクラスを保持することは異なるので、コンポーネントが動的に必要であり、実装がダウンロードされた後に再レンダリングする場合などに便利です。

+0

永続性/水和性(私はそれが必要ないので、それをテストしていない)を壊しますが、時間旅行ではありません。 [this fiddle](https://jsfiddle.net/yprpq1cu/4/)を参照してください - jsfiddle内の時間旅行をチェックすることはできません(Redux DevToolsはそこでは動作しません)が、ローカルで動作します。 –

関連する問題