我在recatjs中开始,我的问题是我的组件中有一个方法有一个参数(this.state.t)
,错误说我“t”没有定义。这是我的代码
this.state = {
t: 5 ,
a:this.give(this.state.t)
}
...
give(B){
...
}
答案 0 :(得分:0)
我认为,我们不能在状态内分配变量,你可以做一件事,
最初在构造函数中赋值变量t
。然后在构造函数的末尾调用this.give()
函数。
constructor(){
super()
this.state = {t:5}
this.give = this.give.bind(this)
this.give(this.state.t)
}
give(a){
youroperation with a
}
答案 1 :(得分:0)
您将无法在自己的声明中使用this.state
。您应该在componentDidMount
函数中设置状态,如
this.state = {
t: 5 ,
a:null
}
...
handleClick = () => {
var a = this.give(this.state.t);
this.setState({a});
}
give(B){
...
}
<button onClick={this.handleClick}>Click</button>