减速器中的状态被初始化为嵌套对象

时间:2019-02-17 21:15:51

标签: react-redux

状态设置为嵌套对象{profile:{profile:{}}而不是{profile:{}}。然后商店也有这个嵌套对象。

const profile = {
    nickname: '',
    avatar: '',
};

export default (state = {profile}, action) => {
      switch (action.type) {
        case 'GET_PROFILE':
        return  {
          ...state,
          profile: action.payload
        };

        default:
            return state;

  }
}

1 个答案:

答案 0 :(得分:0)

正如您在评论中提到的那样,action.payload将是{profile:{...}}。

这就是您要尝试的profile: {profile: {...}}

因此,您可以做的一件事就是profile: action.payload.profile,它应该可以解决您的问题。

或者在分派操作GET_PROFILE时,您可以将{the ... =昵称:“ Dany”,化身:'somepath.jpg'}作为数据而不是{people:{the ... =昵称:'Dany' ,头像:“ somepath.jpg”}}。因此,您可以将 action.payload 保留在减速器中。