Иногда я получаю сообщение об ошибке, и полное сообщение об ошибке выглядит следующим образом: Предупреждение: не удается выполнить обновление состояния React для несмонтированного компонента. Это не работает, но указывает на утечку памяти в вашем приложении. Чтобы исправить это, отмените все подписки и асинхронные задачи в функции очистки useEffect.
Как лучше всего это исправить? Это мой код:
const CustomRefresh = (props) => {
const {
isCurrent, isScheduled
} = props;
const [refreshing, setRefreshing] = useState(false);
const inventoryContext = useContext(inventoryContext);
const onRefresh = React.useCallback(async () => {
setRefreshing(true);
if (isCurrent) {
await inventoryContext.refreshToday();
}
if (isScheduled) {
await inventoryContext.refreshScheduled();
}
setRefreshing(false);
}, [refreshing]);
return (
<CustomRefresh refreshing={refreshing} style={style} onRefresh={onRefresh}>
{children}
</CustomRefresh>
);
};