Я обрабатываю статус переключателя, который находится внутри таблицы ... когда запрос к api терпит неудачу, мне нужно вернуть ошибку, и проверенный статус не может измениться.
Проверено контролируется спецификацией c данные из api .. Что происходит, когда setErrors компонент повторно визуализируется, что, как я считаю, является причиной изменения кнопки переключения.
async function handleStatus(groups, status, id) {
const response = await chengeStatus(groups, status, id);
const { status: state, data, message } = response;
if (state) {
setGroups(data);
return true;
} else {
setErrors({
status: true,
message: message,
});
return false;
}
}
Кнопка переключения:
const columns = [
{
cell: (row) => {
return (
<Switch
checked={row.enable}
handleChange={() => handleStatus(groups, row.enable, row.id)}
></Switch>
);
},
width: "80px",
},
];
Отображение ошибки:
return(
{errors.status &&
<Alert
message="Erro"
description={errors.message}
type="error"
showIcon
/>
}
)