Reactjs 如何在此Redux reducer中正确更新状态

Reactjs 如何在此Redux reducer中正确更新状态,reactjs,react-redux,Reactjs,React Redux,我有一个操作,它返回一个包含过滤对象的有效负载。我希望将此对象作为新状态或要向用户显示的状态片段返回 下面的代码中显示了我正在谈论的具体案例: case Paginate_BLOG return {...state, action.payload.data}; 我的博客的完整代码: import { FETCH_POSTS, FETCH_POST, DELETE_POST, PAGINATE_BLOG} from '../actions'; import _ from 'lodash';

我有一个操作,它返回一个包含过滤对象的有效负载。我希望将此对象作为新状态或要向用户显示的状态片段返回

下面的代码中显示了我正在谈论的具体案例:

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更新状态,作为我获取到状态的原始博客集的子集。

我想你的意思是
{…state,data:action.payload.data}

我甚至不认为这是有效的-但如果是,那么我认为您正在返回一个新状态,该状态的键为
action.payload.data
,值为
action.payload.data

{
  ...,
  data: // previous data,
  "action.payload.data": ...action.payload.data 
}