私は反応し還元するのが初めてです。私の質問は基本的に聞こえるでしょう。反応の還元での発送
- ディスパッチは何を意味しますか?私はアクションを派遣するという言葉を指している。
- なぜreduxにアクションを保存するにはmapDispatchToPropsが必要ですか?単にアクションをインポートして使用することができます。私は、コンポーネントがマウントされたときにデータをロードする必要があるシナリオを持っています。
私は反応し還元するのが初めてです。私の質問は基本的に聞こえるでしょう。反応の還元での発送
@ mariazahid mapDispatchToPropsはプレゼンテーションコンポーネントに渡すことができるようにアクションをコンポーネントにバインドします。これは、Redux with Reactを使用して通常使用されるパターンです。
アクションをインポートしてアクションをディスパッチすることはできますが、ほとんどのシナリオではコンテナ - >コンポーネントパターンが使用されます。コンテナは、アクションがマップされている場所であり、このコンポーネントの状態と唯一の目的は、このデータをそのデータを表示するために使用されるコンポーネントに渡すことです。
チームで作業する場合、簡単に採用できるパターンです。左と中央からアクションをインポートするのではなく、コンテナとそれがどのように必要なアクション/データを子に渡すかを認識するだけで済みます。実装の観点から
、dispatch
があなたの減速と
レッツを通信するために使用されるだけの方法では、あなたの行動は、あなたが通信しようとしているこの
function myAction() {
return { type: 'MY_ACTION' };
}
ようになりますことを言いますアクションタイプ「MY_ACTION」に対応する減速機で
mapDispatchToProps
あなたは通常このようなことをします。
function mapDispatchToProps(dispatch) {
return { actions: bindActionCreators(myActions, dispatch) }
}
効果的には、アクションをディスパッチメソッドにラップ(バインド)しています。
function bindActionCreators(actions, dispatch) {
// this is a very trivial implementation of what bindActionCreators does
let wrappedActions = {};
Object.keys(actions).forEach(action =>
// for every action, return a function that calls dispatch on the result of what your action returns
return function(...args) {
// remember here that dispatch is the only way you can communicate with the reducers and you're action's type will determine which reducer responds to return the new state
return dispatch(actions[action](..args));
}
);
}
それで、これらの「バウンド」のアクションが今、あなたのコンポーネントにprops.actions
に割り当てられます。
あなたはディスパッチdispatch' https://stackoverflow.com/questions/41670146/why-is-there-no-need-for-a-mapdispatchtoprops-function-here/41671030#41671030 'この答えを読むことができますアクション。これは、状態変更を引き起こす唯一の方法です。 –
@ShubhamKhatriそれでも私の質問には答えません。 –
2番目の質問は、最初の質問にリンクされています。状態の変更をトリガーする唯一の方法であるため、ディスパッチが必要です。また、mapDispatchToPropsは、リンク内の回答が説明するように、アクションをインポートした後にディスパッチする必要はありません。また、ドキュメントを読んでください。https://redux.js.org/docs/api/Store.html#dispatch –