私はそれを試してみましょう。私は十分に簡潔であることを願っています。
正しく表示されているように、「状態」は「mapStateToProps」に渡されます。これは、あなたのレデューサーを含むオブジェクトです - 各レデューサーの "店舗"または "状態"。
たとえば、投稿した2番目の例が次のように表示された場合、
import { combineReducers } from 'redux'
import todos from './todos'
import products from './products'
const rootReducer = combineReducers({
todos,
products
})
export default rootReducer
「商品」状態になりました。主要なアプリストア - その「combineReducers」の機能は、すべてのあなたのレデューサーは「組み合わせ」と基本的には「状態/ストア」の下にキーを作成しますので、そうmapStateToPropsに渡され、あなたの「状態」オブジェクトは、この
state = {
todos,
products
}
のように見えます。覚えておいてください、reduxはあなたの世界的な状態の真理の1つの源のこのアイデアを作成します。したがって、combingReducersによって、これらの新しい状態オブジェクトをキーとして "グローバル状態"に配置します。つまり、複数のレデューサーがある場合です。多くの場合、あなたはただ一つしか持っていません。そして、何度も、あなたは「あなたのすべての国家」、多分単なるスライスを望んでいないかもしれません。
あなたのコンポーネントは、これを行ったとします。
const mapStateToProps = state => ({
todos: state.todos,
products: state.products
})
コンポーネントは今下記にアクセスがあります:
this.props.todos
this.props.products
をすべてmapStateToPropsされない上に、これらの値をマッピングすることで、あなたのコンポーネントに、この「グローバル」店/状態にアクセスすることが便利になりますあなたのコンポーネント。基本的に、それはあなたのコンポーネントをゴブリングし、小道具を追加し、それからあなたの新しい価値を変更して戻します。
state.todos(配列)は、レデューサー関数の出力です。 'todos'は' combineReducers'の中でキー名の名前になっていますか?私は正しい?ありがとう – BAE
うん、あなたはそれを持って –