图像上的这个对象是整个状态对象。我想根据抽奖号码创建一个提取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值一起返回。
答案 0 :(得分:1)
您似乎想要使用选择器而不是操作。
选择器被赋予整个存储状态,一些(可选)参数,并返回一个值。
在你的情况下,选择器可能看起来像这样(尽管在你的问题中不清楚如何根据抽奖号码选择B1-6):
export const getDraw = (state, drawNumber) => {
return state.numbers[drawNumber];
};
一般来说,动作用于操纵状态,而选择器用于检索其中的一部分。任何行动都包含“" GET"”这是一个反模式。因为根据定义,每个动作都是一个" set"对国家的行动。