问题描述
下面的代码是我要在状态下更新main_id
和sub_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
))})
}