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