【问题标题】:Too many re renders on react反应时重新渲染太多
【发布时间】:2021-01-29 19:46:56
【问题描述】:

当我运行这个时,我收到了太多的重新渲染错误,这是反应。我已经在很多论坛上搜索过,但仍然没有运气。我知道为什么会这样,因为我在 useEffect 中使用了 setState,并且正在循环。

useEffect(() => {
    getClassData();
  }, []);

  //setClassData(stateData);
  const getClassData = ()=> {
    axios.post(`${apiEndPoint}/get/class/student`, ApiData, {
      headers: headers
    }).then(response => {
      const classArray = response.data;
      stateData=classArray;
      setClassData(classArray);
    })
      .catch(err => {
        console.log(err)
      })

  }
  console.log(stateData);
  return(
    <ClassListGenerator classArrayData={classData}/>
  )
};

【问题讨论】:

  • 你能在 CodeSandbox 中重现它吗?
  • 这是专有代码所以我不能,但我这个代码就足够了,其他元素无所谓
  • 我看到错误代码setClassData(stateData)已经被注释掉了,有什么问题吗?
  • 我在那里尝试了一些东西,但没有用

标签: reactjs axios


【解决方案1】:

你为什么直接改变状态? 在你的 then 块中试试这个

  const classArray = response.data;
  setClassData(classArray);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-23
    • 2020-09-29
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2020-11-27
    相关资源
    最近更新 更多