![](/img/trans.png)
[英]How can mapStateToProps receive the updated state in react-redux implementation
[英]React-Redux: State updated but not copied
在我的減速器中,我無法理解為什么我的狀態返回更新但未被復制。
const loginReducer = (state = {}, action) => {
let newstate = JSON.parse(JSON.stringify(state))
const { type, payload } = action
switch(type) {
case constant.LOGIN_SUCCESS:
//
newstate = { login: [{ user: payload.user, password: payload.password, logged: true }] }
console.log(newstate.login)
break;
default:
break;
}
return newstate
}
我想當然是一件簡單的事情,但我無法弄清楚
似乎您在此行中完全重新分配了newstate
:
newstate = { login: [{ user: payload.user, password: payload.password, logged: true }] }
如果要保持當前值處於state
還需要包括它們:
newstate = { ...newstate, login: [{ user: payload.user, password: payload.password, logged: true }] }
上面使用了對象傳播,您的babel配置中可能有也可能沒有。 您還可以使用Object.assign
來實現相同的目的:
newstate = Object.assign(newstate, { login: [{ user: payload.user, password: payload.password, logged: true }] });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.