赤峰做網(wǎng)站公司百度地圖導航2021最新版
在使用setState時發(fā)生死循環(huán)的錯誤,可能的原因是在這三個地方使用了setState:
- componentDidUpdate;
- componentWillUpdate;
- render。
為什么會這樣?
???????每次渲染頁面的時候就會調(diào)用render,render里面是setState,就要執(zhí)行setState,而每次執(zhí)行setState就要重新渲染頁面,要渲染調(diào)用render,render里執(zhí)行setState,又重新渲染調(diào)用render—setState–render—setState…就這樣一直發(fā)生死循環(huán)。
???????只需將 setState() 調(diào)用移到 render() 函數(shù)之外即可。
???????如果在組件掛載后必須初始化狀態(tài)(也許是從API端點提取數(shù)據(jù)),請在 componentDidMount() 中進行。
???????如果可以在組件掛載之前初始化狀態(tài),也可以使用構(gòu)造函數(shù)來完成。
參考內(nèi)容:react循環(huán)setstate_新手React開發(fā)人員容易做錯的5件事