2016-06-12 9 views
2

コンテナ内から状態を取得する方法について少し混乱します。私は小道具への発送を地図&の派遣アクションでうまくいきます。コンテナ内の店舗からステートを取得する方法は?

文書では、store.getState()を示していますが、最初にthis.props.getState()を呼び出すためにmapStateToPropsを実行する必要がありますか、単にstore.getState()私のプロバイダを通過したストアにアクセスできますか?

答えて

3

connect()関数の最初の引数は、mapStateToPropsというオプションの関数です。 mapState引数を指定すると、connect()で生成されたラッパーコンポーネントは、ストアが更新されるたびに自動的にmapState関数を呼び出し、新しい状態を渡します。 mapState関数は、接続されたコンポーネントが必要とするデータを抽出して返します。 (mapStateToPropsは実際にはセレクタ関数として知られているコンセプトの特定の使い方です - セレクタの使用例についてはhttp://redux.js.org/docs/recipes/ComputingDerivedData.htmlを参照してください)。

独自のコンポーネントコードは、ストアに直接アクセスするのではなく、渡された小道具を受け入れるだけです。http://redux.js.org/docs/FAQ.html#store-setup-multiple-stores

を参照してください。
0

これは私が理解しているところからReduxの流れです。 コンテナからアクションを呼び出すと、onClickメソッドが呼び出されます。これは、順番に減らされ、状態のコピーが返されます。 この状態のコピーは、mapStateToProps関数で使用できます。この関数は、あなたのpropsオブジェクトを新しい状態オブジェクトに設定します。 レンダリング関数は、この新しい更新されたプロペラオブジェクトを利用して、状態の更新があればレンダリングします。

希望すると、クエリが解決されます。

コースを追加/管理するための簡単なコースアプリを作った私のgithubレポをチェックしてください。 https://github.com/sidharthmehra/ReactReduxApp

関連する問題