таб маунтится, он начинает загружать данные.
Когда данные загружены или произошла ошибука выполняется некий колбек, который изменяет состояние компонента (сохраняет данные, сохраняет ошибку, сбрасывает флаг загрузки) .
Кроме того данные можно загрузить нажав на кнопку (например что бы обновить).
Если пользователь сменил таб во время загрузки данных, то когда сработает коллбек компонент уже будет анмаунчен и получим исключение, так как меняем состояние анмаунченного компонента.
Поэтому я решил абортить запрос, когда пользователь уходит из таба (на анмаунт).
Вот только у меня получается сбрасывается запрос при каждой смене состояния, что не желательно.
А то и вовсе в бесконечный цикл уходит все.
Сделал упрощенное демо.
Помогите понять как это сделать правильно, пожалуйста.
https://codesandbox.io/s/condescending-lederberg-xd5j9?file=/src/App.js
Храни состояние в родителе и не будет проблем при анмаунте.
Обсуждают сегодня