Javascript 在单击“从表单对象反应js”时添加输入字段

Javascript 在单击“从表单对象反应js”时添加输入字段,javascript,reactjs,Javascript,Reactjs,我使用react应用程序中的以下代码片段为表单生成输入字段: const[profiles,setProfiles]=useState({ 控制:[ { 网络:{ elementType:“输入”, 元素配置:{ 键入:“文本”, 标签:“网络”, }, 价值:“推特”, }, }, { 用户名:{ elementType:“输入”, 元素配置:{ 键入:“文本”, 标签:“用户名”, }, 值:“@john”, }, }, { 网址:{ elementType:“输入”, 元素配置:{ 键入

我使用react应用程序中的以下代码片段为表单生成输入字段:

const[profiles,setProfiles]=useState({
控制:[
{
网络:{
elementType:“输入”,
元素配置:{
键入:“文本”,
标签:“网络”,
},
价值:“推特”,
},
},
{
用户名:{
elementType:“输入”,
元素配置:{
键入:“文本”,
标签:“用户名”,
},
值:“@john”,
},
},
{
网址:{
elementType:“输入”,
元素配置:{
键入:“url”,
标签:“URL”,
},
值:“https://example.co",
},
},
],

});您应该全部
设置配置文件
以更新状态

不要使用
profiles.controls.push(项目)

setProfiles({…profiles,controls:[…profiles.controls,item]})

您应该设置所有更新状态的配置文件

不要使用
profiles.controls.push(项目)

setProfiles({…profiles,controls:[…profiles.controls,item]})
找到了我自己的解决方案:

const handleadfield=()=>{
常量字段=[…profiles.controls];
fields.map((项目,i)=>{
字段。推送(项目);
});
设置配置文件((上一个)=>({
…上一页,
控件:字段
}));
};找到了我自己的解决方案:

const handleadfield=()=>{
常量字段=[…profiles.controls];
fields.map((项目,i)=>{
字段。推送(项目);
});
设置配置文件((上一个)=>({
…上一页,
控件:字段
}));

};url
onlyOh谢谢我完全错过了它。但将其放在map函数中只会添加最后一个输入字段
url