У меня есть следующие данные:
const INITIAL_DATA = [
{
"id": 1,
"name": "Name 1",
},
{
"id": 2,
"name": "Name 2",
}
];
Я устанавливаю INITIAL_DATA с помощью useState, а также объявляю новую переменную состояния с первым элементом массива данных.
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})
}
Это мой обработчик изменения ввода. Мне удается прочитать значение, но я застрял в том, как соответствующим образом обновить вложенный массив. Мне нужно отредактировать массив и обновить переменную состояния данных новым и обновленным массивом.