2017-03-28 85 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