我有以下数据:
const INITIAL_DATA = [
{
"id": 1,
"name": "Name 1",
},
{
"id": 2,
"name": "Name 2",
}
];
我正在使用 useState 设置 INITIAL_DATA 并使用数据数组的第一项声明一个新的状态变量。
const [data, setData] = useState(INITIAL_DATA);
const [single, setSingle] = useState(data[0]);
从列表中选择单个数据后:
{data.map(function (d, idx) {
return (
<li key={idx} onClick={() => handleOnClick(idx)}>
{d.name}
</li>
)
})}
使用以下处理程序:
const handleOnClick = (id) => {
setSingle(data[id]);
}
状态变量 single 还使用“名称”(single.name) 填充表单。
现在我尝试更新表单或输入字段“名称”,并使用新值更新数据集,但我被卡住了。
const handleInputChange = e => {
//const { name, value } = e.target
//setValues({...values, [name]: value})
}
这是我的输入更改处理程序。我正在设法读取该值,但我坚持如何相应地更新嵌套数组。我需要编辑数组并使用新的和更新的数组更新数据状态变量。