我有新的反应,过去几天我一直在玩它。每当我尝试在下面运行这个简单的代码时,它就会一直给我错误。
"超出最大更新深度。当组件在componentWillUpdate或componentDidUpdate中重复调用setState时,可能会发生这种情况。 React限制嵌套更新的数量以防止无限循环。"
我不知道为什么,有人可以帮帮我吗?提前谢谢。
import React, { Component } from 'react';
import { render } from 'react-dom';
export default class State1 extends React.Component {
constructor() {
this.state = { value: "llll" };
}
change() {
setTimeout(()=>{
this.setState({value:"eeee"});
},3000);
}
change2() {
this.setState({value:"eeee"});
}
render() {
{this.change2()};
return (
<div > {this.state.value} </div >
)
}
}
&#13;
答案 0 :(得分:3)
每次调用setState()
时,您的组件都会调用render
方法来反映状态的变化,然后调用change2()
,从而导致无限循环。