Reactはステートレス コンポーネントの使用を可能な限り推奨し、ステートフルな親コンポーネントでそれらを管理します。これにより、ステートレス コンポーネントがより再利用可能になり、管理が容易になることを理解しています。ただし、極端な場合、App.js などの最上位コンポーネントに常に状態を配置し、長い props チェーンを介して情報とコールバックを渡すことができます。また、Flux を使用している場合は、アクションもいつでもディスパッチできます (コールバックを介して実行されます)。
それで、ステートフル コンポーネントとステートレス コンポーネントを分離するための線は何だろうと思っています。また、Flux を使用している場合、アクションをどこにディスパッチする必要がありますか?
--- 例を追加 ---
ツールバーと表示されるコンテンツを備えた Web アプリのような Google ドキュメントがあるとします。コンポーネント構造になると思います。
<App>
<Toolbar />
<Content />
</App>
ツールバーには、太字テキスト ボタンなど、表示内容に影響を与えるボタンがあります。
では、アプリは onButtonPressed コールバック プロパティをツールバーに渡し、アクションをそれ自体でディスパッチする必要がありますか、それともツールバーにそれ自体を行わせる必要がありますか?
アプリは contentString 小道具をコンテンツに渡す必要がありますか、それともコンテンツ自体にストアの変更をリッスンさせる必要がありますか?
ありがとう!