为什么我的reducer将新对象添加到redux存储,而不是更改当前对象值



React Redux有问题,我想更新存储中的特定值,但我在存储中得到了新对象。

我的行动类型:

export const SENDMESSAGE = "SENDMESSAGE";

我的行动创造者:

export const updateContactFormData = (payload) => ({
type: SENDMESSAGE,
payload: payload
})

我的初始状态:

export const formInitialData = {
formShape: {...},
formData: {...},
formContactData: {
name: '',
email: '',
text: ''
}
}

我的减速器是这样的:

export default function formReducer(storeData, action) {
switch(action.type) {
case SENDMESSAGE:
return {
...storeData,
[storeData.formContactData]: action.payload,
}
default:
return storeData || formInitialData
}
}

现在我的商店里有了新的对象,正如Redux工具显示的那样:在此处输入图像描述

您想要更新属性值,而不是使用以前的值作为名称来定义新属性。

return {
...storeData,
formContactData: {...storeData.formContactData, ...action.payload},
}

相关内容

  • 没有找到相关文章

最新更新