所以我刚刚开始使用redux。我正在尝试从API获取一些GIF
我的目标是返回一个img url数组,而不是整个响应数据。但是如果我尝试迭代并返回每个图像,我的状态仍为null。如果我使用return action.payload.data.data;
返回整个响应然后这可行但我只想得到img urls
这是相应的减速器。
import _ from 'lodash';
export default function(state = null,action) {
switch(action.type) {
case 'FETCH_GIF':
_.forOwn(action.payload.data.data, function(value, key) {
var img = value.images.downsized.url;
return img;
});
// return action.payload.data.data;
default:
return state;
}
}
答案 0 :(得分:0)
state = null看起来有点不对,它通常应该默认为某种initialState对象。然后在你的case块中,它不是很清楚_.forOwn应该返回什么。你想改变action.data.data吗?如果是这样,也许检查一下是否真的发生了。此外,reducer返回的状态应该是一个对象,我不认为redux在返回数组时有效。