reduxを使用する場合はthis.setState()
を今までに使用する必要がありますか?あるいは、あなたは常に行動を送り、小道具に頼るべきですか?reduxを使用する場合、this.setState()を使用する必要がありますか?
答えて
setState
の明確な用途は、ローカル表示状態を持つが、グローバルアプリケーションには関係のないUIコンポーネントです。たとえば、特定のドロップダウンメニューをアクティブに表示するかどうかを表すブール値は、グローバル状態にする必要はないため、メニューコンポーネントの状態によってより便利に制御されます。
他の例では、階層のアコーディオン表示の行の折りたたみ/展開の状態が含まれる場合があります。または、タブのナビゲーションで現在選択されているタブ。ただし、これらの両方の例では、UIの状態をグローバルに処理することを選択することがあります。たとえば、ブラウザの格納領域に展開/折りたたみ状態を保持して、ページの更新によって保持されるようにする場合は、これが必要です。
実際には、ローカル状態でこのようなUI要素を実装し、必要に応じてそれらをグローバル状態にリファクタリングするのが最も簡単です。
これをフォローアップするには、関連するRedux FAQのエントリーで、 'setState'の使用が完全に上級**であることが強調されています**:http://redux.js.org/docs/faq/OrganizingState.html#organizing-state-only -redux-state – markerikson
ハンドオフやサーバー側のレンダリングを使用する場合は、常にReduxを使うべきだと思います – neaumusic
いくつかのコンポーネントに状態があることに間違いはありません。 – zerkms
これは、状態がどこで使用されているかによってまったく異なります。 reduxの店舗はグローバルであると考えてください。グローバルにする必要がないものは、コンポーネントとその子にはプライベートなままです。 – azium