如何使用reactjs更改对象的值

问题描述

我的目标是更改对象的值并传递修改后的对象。

这里是对象:

{
  id: '12497wewrf5144',name: 'ABC',isVisible: 'false'
}

代码如下:

class Demo extends Component {
  constructor(props) {
    super(props)
    this.state = {
      demo: []
    }
  }

  componentDidMount() {
    axios
      .get('/api/random')
      .then(res => {
        this.setState({ demo: res.data})
      })
      .catch(error => {
        console.log(error)
      })
  }
  render() {
    return (
      <div>
{this.state.demo.map((user)=>
        <h1>{user.name}</h1>
        <input type="checkBox" value={user.value} />
)}
      </div>
    )
  }
}

export default Demo

我不知道要为复选框仅更改对象内的值而在onchange方法中编写什么内容

注意:值是字符串isVisible(我们需要将值更改为布尔值)

有人可以在此查询中为我提供帮助吗?

解决方法

要更改对象的特定键,可以使用以下

this.setState({
  ...this.state,demo: {
    ...this.state.demo,isVisible: <NEW VALUE>
  }
})