в useState через redux(redux-think):
useEffect(() => {
fetchData();
}, [shiftModel.pagination.page, shiftModel.filter])
const fetchData = () => {
if(!shiftModel.isFetching && !shiftModel.isRefreshing) {
getShiftsAction(token, shiftModel.filter, shiftModel.pagination)
}
}
Проблема в том, что компонент используеться на разных Tab скринх.
При переходе на новый скрин useEffect срабатывает еще раз и соответственно данные перезаменяет. Как мне это исправить?
А какие варианты решения вы уже рассматривали?
я пока вообще не представляю как это сделать. Думал на useMemo либо сделать весь компонент через REact.memo - вроде не помогает, думал через кастомный хук реализовать - тоже по сути дублирую код. Пока не до чего не додумался(
Поднимите эффект ближе к данным... Прямой аналог вот этого: https://reactjs.org/docs/lifting-state-up.html#lessons-learned
Обсуждают сегодня