2017-03-28 16 views
1

このオブジェクトはイメージ全体に状態オブジェクトです。抽選番号に応じてB1-B6を抽出するアクションを作成したいと思います。react-native redux - 状態の一部を返します

次のように私はそれを開始しました:

アクション:

export const getDraw = (drawNumber) => { 
    return { 
    type: GET_DRAW, 
    drawNumber 
    }; 
}; 

減速:

export default (state = [], action = {}) => { 
    switch (action.type) { 
    case GET_DATA: 
     // returns the whole numbers object 
     return action.payload; 
    case GET_DRAW: 
     return [...state.numbers, ????]; 
    default: 
     return state; 
    } 
}; 

減速は、オブジェクトの配列でdrawNumberと一致する必要が、その後、一緒にそれを返します対応するB1-B6値と比較する。

私はそれをやる方法が分かりません。お知らせ下さい。 enter image description here

答えて

1

あなたはこのためにセレクタではなく、アクションを使いたいように見えます。

セレクタにはストア全体の状態、いくつかの(オプションの)パラメータが与えられ、値が返されます。あなたのケースでは

(それはB1-6の選択はドロー数に基づいて行われているか、あなたの質問には非常に明確ではないのですが)、セレクタは次のようになります:

export const getDraw = (state, drawNumber) => { 
    return state.numbers[drawNumber]; 
}; 

は、一般的に言えば、アクションは状態を操作するために使用され、セレクタはその一部を取り出すために使用されます。定義どおり、すべてのアクションは状態の「セット」操作なので、アクションには「GET」という言葉が含まれるようにする反パターンです。

More on actions

More on selectors

関連する問題