我正在尝试获取两个输入值,将其保存为状态,但仅占用最后一个输入字段值。
当使用useEffect console.log(state)
时,该对象仅存储并显示最后的值lname
,我无法理解为什么它不存储fname
。
我想将两个值都存储为输入字段中的对象。
const handleChange = idx => e => {
const { name, value } = e.target;
const rows = [...state.rows];
rows[idx] = {
[name]: value
};
setState({
rows
});
};
您需要在handleChange中使用...rows[idx]
const handleChange = idx => e => {
const { name, value } = e.target;
const rows = [...state.rows];
rows[idx] = { ...rows[idx], [name]: value }; //here
setState({
rows
});
};