H5W3
当前位置:H5W3 > 其他技术问题 > 正文

【前端问题精选】react setState如何修改深层次的数据

data: [
    {
      id: '111',
      name: 'test 001',
      price: '222',
      money: '23232',
      numList: [
        {
          num: ['1', ''],
          price: 12
        },
        {
          num: ['', '999999'],
          price: 13
        },
        {}
      ]
    },
    {
      id: '111',
      name: 'test 001',
      price: '222',
      money: '23232',
      numList: [
        {
          num: ['1', ''],
          price: 12
        },
        {
          num: ['', '999999'],
          price: 13
        },
        {}
      ]
    }
  ]
  
  

我想修改data[0].numList[0].num[1],修改之后在赋值给data 怎么搞

回答:

let data = this.state.data
let newData = data[0].numList[0].num[1] = 111
this.setState({
    data:newData
})

回答:

为保证 react 能够追踪 state 更新前后的状态,推荐使用 use-immer
https://github.com/immerjs/us…
demo:https://codesandbox.io/s/l97y…

本文地址:H5W3 » 【前端问题精选】react setState如何修改深层次的数据

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址