【发布时间】:2022-01-12 08:56:20
【问题描述】:
我有一个动态创建的字段(输入标签)
const [data, setData] = useState({ native: [{}], rolls: [{}] }) // initial data
{navtive?.map((item, index) => {
return (
<input
type="text"
name={item.id}
onChange={(e) =>
handleChange("fee", e.target.value, index, item.id)
}
/>
...
{rolls?.map((item, index) => {
return (
<input
type="text"
name={item.id}
onChange={(e) =>
handleChange("fee", e.target.value, index, item.id)
}
/>
预期输出:
const output = {
native: [{id: 1, fee: "12"}, {id: 5, fee: "2"}],
rolls: [{id: 4, fee: "1332"}],
};
onChange函数:
const handleChange = (field, value, index) => {
setData((prevState) => {
const nextState = [...prevState];
nextState[index][field] = value;
return nextState;
});
};
如何获得预期的输出?我在 onChange 函数中做错了什么。
谢谢
【问题讨论】:
标签: javascript reactjs formik