私はReduxのでアクションの以下の2つのスタイルを参照してください。React/Reduxの2つのスタイルのアクション?
export function createFoo(foo) {
return {
type: ActionTypes.CREATE_AUTHOR,,
foo
}
}
...と他のチュートリアル(PluralSight)から:the documentationから
を
export function createFoo(foo) {
var newFoo = FooApi.saveFoo(foo);
Dispatcher.dispatch({
actionType: ActionTypes.CREATE_FOO,
foo: newFoo
});
}
後者が持っているように見えますより多くの責任、作成者インスタンスの作成、およびイベントのディスパッチ。
なぜアプローチに違いがありますか?これらの2つの別々のイディオムがあります(ミドルウェアがディスパッチを実行することを期待しているかもしれません)。
アクションをコンポーネントに接続する方法に違いがあります。 React DOCSの最初のケースでは、接続機能を使用して、ディスパッチ –
を提供します。最初のケースでは、レデューサーは純粋ではありませんでしたか? (リデューサーはAPIをsaveFooに呼び出すためのロジックをカプセル化する必要があるため) – Ben
リダクターはアクションを受け取り、そのアクションに基づいて状態を更新します。また、店舗を正しく設定すると、すべてのレデューサーがそのアクションを受け取ります。 –