2017-11-22 16 views
0

私は反応し還元するのが初めてです。私の質問は基本的に聞こえるでしょう。反応の還元での発送

  1. ディスパッチは何を意味しますか?私はアクションを派遣するという言葉を指している。
  2. なぜreduxにアクションを保存するにはmapDispatchToPropsが必要ですか?単にアクションをインポートして使用することができます。私は、コンポーネントがマウントされたときにデータをロードする必要があるシナリオを持っています。
+0

あなたはディスパッチdispatch' https://stackoverflow.com/questions/41670146/why-is-there-no-need-for-a-mapdispatchtoprops-function-here/41671030#41671030 'この答えを読むことができますアクション。これは、状態変更を引き起こす唯一の方法です。 –

+0

@ShubhamKhatriそれでも私の質問には答えません。 –

+0

2番目の質問は、最初の質問にリンクされています。状態の変更をトリガーする唯一の方法であるため、ディスパッチが必要です。また、mapDispatchToPropsは、リンク内の回答が説明するように、アクションをインポートした後にディスパッチする必要はありません。また、ドキュメントを読んでください。https://redux.js.org/docs/api/Store.html#dispatch –

答えて

1

@ mariazahid mapDispatchToPropsはプレゼンテーションコンポーネントに渡すことができるようにアクションをコンポーネントにバインドします。これは、Redux with Reactを使用して通常使用されるパターンです。

アクションをインポートしてアクションをディスパッチすることはできますが、ほとんどのシナリオではコンテナ - >コンポーネントパターンが使用されます。コンテナは、アクションがマップされている場所であり、このコンポーネントの状態と唯一の目的は、このデータをそのデータを表示するために使用されるコンポーネントに渡すことです。

チームで作業する場合、簡単に採用できるパターンです。左と中央からアクションをインポートするのではなく、コンテナとそれがどのように必要なアクション/データを子に渡すかを認識するだけで済みます。実装の観点から

0

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に割り当てられます。

関連する問題