Интересно, можно ли обновить несколько свойств состояния с помощью immer.js
за один "вызов".
Скажите, у меня есть state
:
export const initialState = {
isUserLogged: false,
menuIsClosed: false,
mobileMenuIsClosed: true,
dataArray: ["dog","cat"],
};
И action creator
:
export function updateSearchPage(data) {
return {
type: UPDATE_SEARCH_PAGE,
payload: data
};
}
Затем я использую action creator
в компоненте React следующим образом:
this.props.updateSearchPage({
isUserLogged: true,
menuIsClosed: true,
dataArray: ["dog","cat","owl"]
})
Идея состоит в том, что я хочу обновить несколько свойств состояния одновременно. Но я не знаю, какие свойства это заранее. Я знаю, как это сделать с помощью простого редуктора:
case UPDATE_SEARCH_PAGE:
return Object.assign({}, state, action.payload)
Но how to update several properties of state with immer at the same time
? Когда свойства состояния (которые следует обновить) заранее известны как .