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},
}