Я хотел бы знать, как я могу обновить определенное значение в состоянии.У меня есть моя конфигурация состояния, и я хотел бы обновить значение 'offset' без изменения предела или общего значения, просто установите новое смещение с помощью this.props.setParams () ...
С помощью этой функцииЯ хотел бы изменить смещение this.props.setParams ({offset: 10}) или ограничить this.props.setParams ({limit: 40}) и т. Д., Просто отправив параметры и изменив непосредственно связанное состояние.
searchList.js
this.props.setParams({ offset: 10})
actions-search.js
export function setFilters(newFilters) {
return {
type : SEARCH.SET_NEW_FILTERS,
payload: newFilters
};
}
export function setParams(newParams) {
return {
type : SEARCH.SET_NEW_PARAMS,
payload: newParams
};
}
редуктор-поиск.js
...
/*State : CONFIG*/
/*config: {
filters : {
...
}
params: {
offset: 0,
limit: 25,
total: 100
}
}*/
case SEARCH.SET_NEW_FILTERS :
let newFilters = action.payload;
return {
...state,
config: {
...state.config,
filters : {
...state.config.filters,
newFilters
}
params : {
...state.config.params
}
}
};
case SEARCH.SET_NEW_PARAMS :
let newParams = action.payload; // {offset: 10}
return {
...state,
config: {
...state.config,
filters : {
...state.config.filters
}
params : {
...state.config.params,
newParams
}
}
};
....
Конечно, я должен написать это:
return {
...state,
config: {
...state.config,
params : {
...state.config.params,
offset : newParams.offset
}
}
};
Как я могу иметь более "универсальный" в моем редукторе?Не указывать конкретное свойство, но оно более глобально.
Просто отправьте объект "params" в моем создателе действий, например: this.props.setParams ({offset: 30, total: 120})?