2 useState внутри useEffect: один работает, другой - нет, хотя они почти одинаковы - PullRequest
0 голосов
/ 01 августа 2020

У меня эта useEffect функция настроена на запуск только один раз при рендеринге страницы.
Внутри я использую две функции useState: setPageLenght и setPages

  • Они определены следующим образом:
const [pages,setPages] = useState([])
const [pageLenght,setPageLenght] = useState(0)
  • Оба они называются здесь
useEffect(() => fetchData(props.Token).then(response => {
    let result = Math.round(response[0] / 20)
    setPageLenght(prev => result); //Does not change the state remains at 0
        
    for (let i=0;i < result;i++) {
        let page = <span>response[i]</span>;
        setPages(prev => [...prev,page])
    }
}),[])

В основном он вызывает функцию, которая извлекает данные, а затем устанавливает данные соответственно

Последний setPages работает нормально, но для некоторых причина, по которой первый не делает.

Что здесь происходит?

...