我有一个动作返回包含过滤对象的有效负载。我希望将此对象作为新状态或我要向用户显示的状态返回。
我所谈论的具体案例显示在以下代码中:
case Paginate_BLOG
return {...state, action.payload.data};
我的博客减速器的完整代码:
import { FETCH_POSTS, FETCH_POST, DELETE_POST, PAGINATE_BLOG} from '../actions';
import _ from 'lodash';
export default function(state = {}, action) {
switch(action.type) {
case FETCH_POST:
const post = action.payload.data;
return { ...state, [post.id]: post};
case FETCH_POSTS:
return _.mapKeys(action.payload.data, 'id');
case PAGINATE_BLOG:
return {...state, action.payload.data};
case DELETE_POST:
return _.omit(state, action.payload);
default:
return state;
}
}
所以基本上我试图在博客中使用redux来实现分页,将状态更新为我进入状态的原始博客集的子集。
答案 0 :(得分:0)
我认为你的意思是{...state, data: action.payload.data}
我甚至认为这不是有效的 - 但如果确实如此,那么我认为你正在返回一个新的状态,其中action.payload.data
键的值为action.payload.data
{
...,
data: // previous data,
"action.payload.data": ...action.payload.data
}