如何在React State

问题描述

下面的代码是我要在状态下更新main_idsub_ids内容

我被困在这里...

const [state,setState] = useState({
  ids: [
    {
      main_id: null,sub_ids: []
    }
  ]
});

// this is what I've tried..
const handleState = index => (v) => {
  setState({ ...setState,ids: setState.ids.map((x,i) => (
    i === index ? {x.main_id: v.id,sub_ids: []})
  ))})
}

我在同一组件上使用此函数,这意味着它会添加具有不同对象的数组的特定索引。

<componentOne onChange ={handleState(k)} />
<componentTwo onChange={handlestate(k)} />
state = {
  ids:[
    {
     main_id: v.id,sub_ids:[]
    },{
     main_id: v.id,sub_ids:[]
    }
  ]
}

解决方法

请参考以下代码:

const [state,setState] = useState({
  ids: [
    {
      main_id: null,sub_ids: []
    }
  ]
});

// this is what I've tried..
const handleState = index => (v) => {
  setState({ ...state,ids: state.ids.map((x,i) => (
    i === index ? { main_id: v.id,sub_ids: [] } : x
  ))})
}