2
我正在使用reax和reactjs。這裏是我的減速狀態:在還原器中更新嵌套狀態React Redux
{
XSAUZHNAKZJ : //id User
{
AZRAERAZEAZ : //id Conversation - always one object
{
timestamp : 123123123,
lastMessage : "hello"
}
},
BLZEJARNAELKR : //id User
{
AANALZKJAZ : //id Conversation - always one object
{
timestamp : 123123123,
lastMessage : "hello"
}
}
}
我想更新的減速,並添加一個鍵/值(「名」:喬)剛剛lastMessage之後。我的action.payload中有name(例如:joe)和id User(例如:XSAUZHNAKZJ)的值。這是我的代碼,但似乎我做得不對。
export default function(state={},action){
switch(action.type){
case 'GET_USER_INFO':
var tempState = Object.assign({}, state);
var conversation = tempState[action.payload.key];
var conversationDetail = conversation[Object.keys(conversation)[0]];
conversationDetail['name']=action.payload.val().name;
return tempState;
default:
return state;
}
}
所以它的工作和你問如果這是這樣做的正確方法? – MrCode
這不起作用,但Shubham Khatri的答案完成了這項工作! – Zoomzoom
看起來就像是你的'action.payload.val()。name',那就是問題了,因爲它的其餘部分看起來很好。 – MrCode