Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
379 views
in Technique[技术] by (71.8m points)

reactjs - Too many re renders on react

I'm getting this too many re-renders error when I'm running this, this is in react. I ve already searched on many forums but still no luck. I know why this is happening because I ve used setState in useEffect, and is looping.

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}/>
  )
};
question from:https://stackoverflow.com/questions/65952717/too-many-re-renders-on-react

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Why do you directly mutate state? Try this in your then block

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...