stateの構造
state = {
user: {
name: string,
address: string,
phoneNumber: string
},
isPremiun: boolean
}
reducerの記述
initialState = {
user: {
name: "",
address: "",
phoneNumber: ""
},
isPremiun: false
}
const userReducer = (state = initialState, action) => {
const { type, payload } = action;
switch (type) {
case user/updateProfile:
return {...state, user: {...state.user, ...payload}};
default:
return state;
}
}
このようにしておくと、userの情報を更新したいときにname, address, phoneNumberの情報全てを送信する必要がない。
{name: "hoge"}という情報をactionのpayloadに渡すとその部分だけ更新される。