Reactjs 无理由反应中的状态未定义?
我正在尝试使用setState访问和更改React组件下的状态。不知怎的,我得到了错误Reactjs 无理由反应中的状态未定义?,reactjs,setstate,react-state,Reactjs,Setstate,React State,我正在尝试使用setState访问和更改React组件下的状态。不知怎的,我得到了错误“iscreator”没有定义,但我已经在我的状态中定义了它。这里可能有什么错误?提前谢谢 我的类组件,其中我有状态: state = { training: {}, iscreator: false } componentDidMount() { if (this.props.token == this.state.training.coach) {
“iscreator”没有定义,但我已经在我的状态中定义了它。这里可能有什么错误?提前谢谢
我的类组件,其中我有状态:
state = {
training: {},
iscreator: false
}
componentDidMount() {
if (this.props.token == this.state.training.coach) {
this.setState({
iscreator: true
});
console.log(iscreator)
}else{}
}
您需要引用console.log(this.state.iscreator)
您需要引用console.log(this.state.iscreator)
编写console.log(this.state.iscreator)
而不是console.log(iscreator)
或
在状态中声明引用iscreator的常量,如:
const{iscreator}=this.state代码>
然后您可以编写console.log(iscreator)
,它就会工作。编写console.log(this.state.iscreator)
而不是console.log(iscreator)
或
在状态中声明引用iscreator的常量,如:
const{iscreator}=this.state代码>
然后您可以编写console.log(iscreator)
,它会工作。它在您的状态下是对象的属性,而不是对象本身的引用。它在您的状态下是对象的属性,不是它自己的引用。为什么当我的状态标记等于training时,coach值“iscreator”值仍然不会更改为true?我想使用componentDidMount以外的其他东西吗?为什么当我的状态标记等于training.coach值'iscreator'值仍然没有更改为true时?我想使用componentDidMount以外的其他工具吗?