我在 api 调用后得到双重嵌套状态。就是这样。
Screenshot from redux devtools
这是我的行动
export const getUserSuccess = user => ({
type: GET_USER_SUCCESS,
user,
});
export const getUserFailure = error => ({
type: GET_USER_FAILURE,
error,
});
export const getUserRequest = () => (
dispatch => (
axios.get('./user.json')
.then(response => dispatch(getUserSuccess(response.data)))
.catch(error => dispatch(getUserFailure(error)))
)
);
这是我的用户 reducer
export default function user(state = {}, action) {
switch (action.type) {
case GET_USER_SUCCESS:
return {
...state,
user: action.user,
};
case GET_USER_FAILURE:
return {
...state,
error: action.error,
};
default:
return state;
}
}
这是我的根 reducer
export default combineReducers({
user,
});
最佳答案
您需要传播用户的数据,无需将其分配给用户
。你的 reducer 已经在里面了
case GET_USER_SUCCESS:
return {
...state,
...action.user
};
关于javascript - Redux 存储双重嵌套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42446644/