在 React 中调用参数作为状态
Calling a Parameter as State in React
我在 React 中有一个复选框,它调用一个以其状态作为参数的函数。
<p>
<input
type="checkbox"
name="hobbies"
checked={this.state.All}
onChange={this.checkHobbies.bind(this, "all")}
/>
All Hobbies
</p>
我的违规代码在这里:
checkHobbies(name) {
this.setState({
name: !this.state.name,
});
}
然而,SetState 将名称解释为实际状态,而不是参数中传递的变量,在本例中是名为 "all" 的变量。我将如何使代码将函数解释为:
this.setState({
all: !this.state.all
});
checkHobbies(name) {
this.setState({
[name]: !this.state[name],
});
}
如果值作为 'all' 传递,则 seState 将被解释如下。
this.setState({
all: !this.state.all
});
使用
checkHobbies(name) {
this.setState({
[name]: !this.state[name],
});
}
我在 React 中有一个复选框,它调用一个以其状态作为参数的函数。
<p>
<input
type="checkbox"
name="hobbies"
checked={this.state.All}
onChange={this.checkHobbies.bind(this, "all")}
/>
All Hobbies
</p>
我的违规代码在这里:
checkHobbies(name) {
this.setState({
name: !this.state.name,
});
}
然而,SetState 将名称解释为实际状态,而不是参数中传递的变量,在本例中是名为 "all" 的变量。我将如何使代码将函数解释为:
this.setState({
all: !this.state.all
});
checkHobbies(name) {
this.setState({
[name]: !this.state[name],
});
}
如果值作为 'all' 传递,则 seState 将被解释如下。
this.setState({
all: !this.state.all
});
使用
checkHobbies(name) {
this.setState({
[name]: !this.state[name],
});
}