我收到此错误,我猜是由于反应状态爆发,但我不知道这里出了什么问题。
所以我有父子关系组件,如下所示:
父组件
class App extends Component {
constructor(props){
super(props);
this.state={
parentTime: 0,
}
};
changeTimeState(childTime){
//this.setState({parentTime: childTime})
console.log("Parent state time: ",childTime)
}
render() {
return (
<div className="box">
<Child time={this.state.parentTime} changeTime={this.changeTimeState.bind(this)}/>
</div>
);
}
}
子组件
class Child extends Component {
constructor(props){
super(props)
this.state = {
childTime: props.time
}
}
componentDidMount(){
if (this.state){
setInterval(()=>{
this.setState({childTime: this.state.childTime+1})
},1000)
}
}
render() {
return (
<div newTime={this.props.changeTime(this.state.childTime)}/>
);
}
}
我在它们之间传递数据并取消注释this.setState({parentTime: childTime})
在父组件中会导致该错误。这是我需要帮助来理解和修复它的地方。
i don't know is it what you wanted
class Child extends Component {
constructor(props) {
super(props);
this.state = {
childTime: props.time,
};
}
componentDidMount() {
if (this.state) {
setInterval(() => {
this.setState({ childTime: this.state.childTime + 1 });
this.props.changeTime(this.state.childTime);
}, 1000);
}
}
render() {
return <div />;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)