我的减速器:
初始状态是一个包含一些字符串的对象。我需要单独更新一个密钥。
export default function updatePersonDetailsReducer (state = {
updatePersonDetails: {
personName: "John",
PersonId: "3hjbdfsjk33223",
address: "somewhere on earth"
}
}, action) {
switch (action.type) {
case C.UPDATE_PERSON_DETAILS: {
return {
...state
,updatePersonDetails :action.payload
}
}
default : {}
}
return state
}
行动:
export function updatePersonDetails(data) {
return function (dispatch) {
dispatch({
type: C.UPDATE_PERSON_DETAILS,
payload: data,
});
};
}
如何从组件中单独更改 personName?
答案 0 :(得分:1)
也传播您的 updatePersonDetails
对象:
export default function updatePersonDetailsReducer(state = {
updatePersonDetails: {
personName: "John",
PersonId: "3hjbdfsjk33223",
address: "somewhere on earth"
}
}, action) {
switch (action.type) {
case C.UPDATE_PERSON_DETAILS: {
return {
...state,
updatePersonDetails: action.payload
}
}
default: { }
}
return state
}
操作:
export function updatePersonDetails(data) {
return function (dispatch) {
dispatch({
type: C.UPDATE_PERSON_DETAILS,
payload: {...data, personName: objValue.name},
});
};
}