Я пытаюсь реализовать обратный вызов useEffect для отправки действия перед размонтированием компонента. Смысл этого действия - сохранить последнее состояние моего компонента, чтобы я мог выйти из этого состояния при следующей загрузке этого компонента. Я только хочу, чтобы этот обратный вызов был запущен при размонтировании.
При попытке использовать пустой массив зависимостей для моего useEffect правило «исчерпывающего действия» реагирует на рекомендуемые требования «eslint-plugin-реагировать-крючки». Я включаю значение, которое пытаюсь сохранить. Это приводит к тому, что эффект и, следовательно, действие запускаются каждый раз, когда я сохраняю состояние.
Есть ли лучший способ справиться с этой ситуацией, чем отключение eslint для этой строки?
Вот что я хочу:
...
const [value, setValue] = useState('');
useEffect(() => {
return () => {
storeValueAction(value);
};
}, []);
...
Способ, которым eslint-plugin-реагирующий-ловушка хочет этого и приводит к тому, что действие отправляется при каждом изменении состояния:
...
const [value, setValue] = useState('');
useEffect(() => {
return () => {
storeValueAction(value);
};
}, [value, storeValueAction]);
...
Есть ли что-то кроме useEffect, которое я должениспользовать для этого?