Reactjs 是否可以使用功能参数设置状态?

Reactjs 是否可以使用功能参数设置状态?,reactjs,Reactjs,你好,我正在尝试使用一个函数来设置我的模态状态,我得到了很多模态,所以我正在做的就是这样尝试 下面是函数调用 this.openModal('doneModal') 就在这里 openModal(state) { console.log(state); this.setState({state : true}, () => console.log(this.state.doneModal)); } 当我记录参数状态时,它会按预期显示doneModal,但它不会将状态设置为第二

你好,我正在尝试使用一个函数来设置我的模态状态,我得到了很多模态,所以我正在做的就是这样尝试

下面是函数调用

this.openModal('doneModal')
就在这里

 openModal(state) {
  console.log(state);
  this.setState({state : true}, () => console.log(this.state.doneModal));
}
当我记录参数状态时,它会按预期显示doneModal,但它不会将状态设置为第二个控制台。log仍然为false

如果我换成

this.setState({doneModal:true)} the console log shows true. is it not possible to setState as such?

为了动态地设置状态,您需要用
[]
之类的代码包装动态变量

openModal(state) {
  console.log(state);
  this.setState({[state] : true}, () => console.log(this.state.doneModal));
}

为了动态地设置状态,您需要用
[]
之类的代码包装动态变量

openModal(state) {
  console.log(state);
  this.setState({[state] : true}, () => console.log(this.state.doneModal));
}

在代码中添加方括号
[]

openModal(state) {
  console.log(state);
  this.setState({ [state]: true}, () => console.log(this.state.doneModal));
}

在代码中添加方括号
[]

openModal(state) {
  console.log(state);
  this.setState({ [state]: true}, () => console.log(this.state.doneModal));
}

成功了!此括号是否仅用于设置状态时?我从未见过在React中使用它们。它与设置状态或React没有任何共同之处。这只是一种用于更新具有动态
值的对象的语法。它起作用了!此括号是否仅用于设置状态时?我从未见过在React中使用它们。它与设置状态或React没有任何共同之处。它只是一种用于更新具有动态
key
值的对象的语法。