Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 反应:您可以使用参数名称来更改相同名称的状态吗?_Reactjs_Toggle_State_Setstate - Fatal编程技术网

Reactjs 反应:您可以使用参数名称来更改相同名称的状态吗?

Reactjs 反应:您可以使用参数名称来更改相同名称的状态吗?,reactjs,toggle,state,setstate,Reactjs,Toggle,State,Setstate,我有许多重复的this.setState语句,它们都在做同样的事情来切换它的状态,所以我想知道是否可以进行常规切换。我知道这个代码不起作用,我想我没有正确调用全局状态。也许这是我想弄清楚的更详细的问题: onToggleState => (state) => { this.setState(prevState => ({ state: prevState.state })); } 我希望这会有所帮助 OnToggleEstate=>(州)=>{ this.s

我有许多重复的this.setState语句,它们都在做同样的事情来切换它的状态,所以我想知道是否可以进行常规切换。我知道这个代码不起作用,我想我没有正确调用全局状态。也许这是我想弄清楚的更详细的问题:

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
查看计算属性名称哇,这是一个多么新手的语法错误。一旦你看到它,它是如此清晰和无可争辩的正确。对我来说,它不觉得是一个错误。您只是不知道语法是可用的。现在你知道了。