在react组件中的constructor
函数中能否调用this.setState
,具体问题是这样的,在react组件的constructor
中调用异步函数,异步的回调函数中再调用this.setState
会产生不良影响吗?
示例代码如下:
`
import React,{Component} from "react";
class Index extends Component{
constructor() {
super();
this.state = {
count:100
}
// 异步函数
setTimeout(()=>{
//函数内部调用this.setState
this.setState({
count:9999
})
},200)
}
render() {
return <div>
{this.state.count}
</div>
}
}
export default Index;
`
推荐放在
componentDidMount
中,本质上这也属于一种异步处理。但是在你的例子中,放在
constructor
中也行。但是记住一点,不要放到componentWillMount
里。