в 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
Обсуждают сегодня