Reactjs 反应:您可以使用参数名称来更改相同名称的状态吗?
我有许多重复的this.setState语句,它们都在做同样的事情来切换它的状态,所以我想知道是否可以进行常规切换。我知道这个代码不起作用,我想我没有正确调用全局状态。也许这是我想弄清楚的更详细的问题:Reactjs 反应:您可以使用参数名称来更改相同名称的状态吗?,reactjs,toggle,state,setstate,Reactjs,Toggle,State,Setstate,我有许多重复的this.setState语句,它们都在做同样的事情来切换它的状态,所以我想知道是否可以进行常规切换。我知道这个代码不起作用,我想我没有正确调用全局状态。也许这是我想弄清楚的更详细的问题: onToggleState => (state) => { this.setState(prevState => ({ state: prevState.state })); } 我希望这会有所帮助 OnToggleEstate=>(州)=>{ this.s
onToggleState => (state) => {
this.setState(prevState => ({
state: prevState.state
}));
}
我希望这会有所帮助
OnToggleEstate=>(州)=>{
this.setState(prevState=>({
[州]:!prevState[州]
}));
}
不建议这样做,最好在有状态组件中为每个状态设置setState方法
顺便说一下,这里有一个例子
handleSetState(key, value){
this.setState({
[key]: value,
});
}
使用它的一个示例:
this.handleSetState('foo', 'bar'); // equivalent of this.setState({foo: 'bar'});
它将把“bar”作为一个名为“foo”的状态的值
但正如我所说,这不是一个好办法来处理它,这就是为什么我们有钩在反应
const [foo, setFoo] = useState(null);
const [bar, setBar] = useState(null);
setFoo('foo');
setBar('bar');
[state]:prevState.state
查看计算属性名称哇,这是一个多么新手的语法错误。一旦你看到它,它是如此清晰和无可争辩的正确。对我来说,它不觉得是一个错误。您只是不知道语法是可用的。现在你知道了。