Javascript 动态多文本字段
我在reactjs中实现了动态多文本字段 当我通过单击Javascript 动态多文本字段,javascript,arrays,reactjs,object,redux,Javascript,Arrays,Reactjs,Object,Redux,我在reactjs中实现了动态多文本字段 当我通过单击add按钮添加新行时, 输入键文本字段和值文本字段, 单击+图标不添加行 我可以帮忙,这里是codesandbox 在state对象中创建“additionalFields”属性的深度副本似乎解决了这个问题 复制具有一层或多层其他引用值(对象、数组)的引用值时,我倾向于使用JSON.stringify()将其转换为JSON,然后使用JSON.parse()将其转换回对象。这将导致一个数组不指向状态对象中的原始数组。Lodash的cloneDe
add
按钮添加新行时,
输入键文本字段和值文本字段,
单击+
图标不添加行
我可以帮忙,这里是codesandbox
在state对象中创建“additionalFields”属性的深度副本似乎解决了这个问题
复制具有一层或多层其他引用值(对象、数组)的引用值时,我倾向于使用JSON.stringify()
将其转换为JSON,然后使用JSON.parse()
将其转换回对象。这将导致一个数组不指向状态对象中的原始数组。Lodash的cloneDeep()
方法更具可读性,但对于香草JavaScript,您可以使用我的解决方案
handleValueChange = (event, row, i) => {
var newArray = JSON.parse(JSON.stringify([...this.state.additionalFields]));
newArray[row.id].value[i] = event.target.value;
this.setState({ additionalFields: newArray });
};