react-native redux - 返回部分状态

时间:2017-03-28 19:52:51

标签: react-native redux

图像上的这个对象是整个状态对象。我想根据抽奖号码创建一个提取B1-B6的动作。

我开始如下:

动作:

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;
  }
};

reducer必须与对象数组中的drawNumber匹配,然后将其与相应的B1-B6值一起返回。

我失去了怎么做。请指教。 enter image description here

1 个答案:

答案 0 :(得分:1)

您似乎想要使用选择器而不是操作

选择器被赋予整个存储状态,一些(可选)参数,并返回一个值。

在你的情况下,选择器可能看起来像这样(尽管在你的问题中不清楚如何根据抽奖号码选择B1-6):

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

一般来说,动作用于操纵状态,而选择器用于检索其中的一部分。任何行动都包含“" GET"”这是一个反模式。因为根据定义,每个动作都是一个" set"对国家的行动。

More on actions

More on selectors