Допустим, у меня есть запрос POST, который обновляет состояние свойства объекта до true / false.
В моем редукторе я отправил это как действие после того, как этот пост-запрос был успешным.
case "ADD_CHANGE_TO_TRUE_RESOLVE":
if (action.res.errorCode == 0) {
console.log("NO ERROR!");
// DO SOMETHING
}
В настоящее время статус может быть изменен в бэкэнде, но если я не обновлю страницу, то «истинный» статус не будет отражен в DOM (я выполняю запрос GET для componentDidMount (), чтобы получить последние данные, когда страница обновляется).
У меня вопрос, как я могу изменить состояние в магазине сразу после отправки запроса (запрос POST запускается одним нажатием кнопки)?
Должен ли я сделать это?
case "ADD_CHANGE_TO_TRUE_RESOLVE":
if (action.res.errorCode == 0) {
console.log("NO ERROR!");
const objChanged = newState.list.find(function (obj) { return obj.id === action.res.data.id; });
objChanged.is_favorite = true;
Учитывая, что у меня есть это как мое состояние в магазине:
const currentState = [
{
list: []
}
];
Я очень плохо знаком с редуксом / реакцией, поэтому не уверен, что делаю это правильно.