Reactjs 如何更改嵌套对象的值';useState的属性是什么?

Reactjs 如何更改嵌套对象的值';useState的属性是什么?,reactjs,react-native,state,use-state,react-functional-component,Reactjs,React Native,State,Use State,React Functional Component,这是我的嵌套对象 const[里程碑,设置里程碑]=useState({ 米莱斯通1:[ { 核对:对, 名称:“预安装配件”, 准备启动里程碑:[ {里程碑:“框架/支架用实木”,选中:true}, {里程碑:“框架/支架用胶合板”,选中:false}, {里程碑:“面板用胶合板”,选中:true}, {里程碑:“用于分区的胶合板”,选中:true}, {里程碑:“修复支持”,选中:true}, {里程碑:“固定面板”,选中:false}, {里程碑:'用水平标尺和铅锤检查',检查:真}, {

这是我的嵌套对象

const[里程碑,设置里程碑]=useState({
米莱斯通1:[
{
核对:对,
名称:“预安装配件”,
准备启动里程碑:[
{里程碑:“框架/支架用实木”,选中:true},
{里程碑:“框架/支架用胶合板”,选中:false},
{里程碑:“面板用胶合板”,选中:true},
{里程碑:“用于分区的胶合板”,选中:true},
{里程碑:“修复支持”,选中:true},
{里程碑:“固定面板”,选中:false},
{里程碑:'用水平标尺和铅锤检查',检查:真},
{里程碑:“按照尺寸切割单板”,选中:false},
{里程碑:“面板上单板的固定”,勾选:假},
]
}
]
})
在平面列表中呈现多个复选框。我想要这样的东西,但它不起作用

{
里程碑.milestone1.preparefitting里程碑.checked=!milestone1.preparefitting里程碑.checked
设置里程碑({里程碑})
}}
/>

我想在按下复选框时切换其值并保存状态。

您可以使用mileStone1属性创建新对象。然后使用新的里程碑对象设置状态

<CheckBox value={item.checked} style={{ alignSelf: 'center' }}
  onPress={() => {
      let newMileStone = { ...mileStones }
      newMileStone.milestone1.prepareFittingMileStones.checked = 
             !mileStones.milestone1.prepareFittingMileStones.checked
      setMileStones({ newMileStone });
  }}
/>
{
让newMileStone={…里程碑}
newMileStone.milestone1.prepareFittingMileStones.checked=
!里程碑.milestone 1.preparefitting里程碑.checked
设置里程碑({newMileStone});
}}
/>