Javascript 如何在React中循环新的输入框并获取数组中的值?

Javascript 如何在React中循环新的输入框并获取数组中的值?,javascript,reactjs,Javascript,Reactjs,我需要用一个输入框动态生成多个div,这样用户就可以添加一个数字 用户可以通过单击按钮添加任意数量的div,并在输入框中输入一个数字 用户输入完数据后,必须单击按钮来处理数据 我已经了解了如何使用React遍历现有数组,但没有了解如何遍历用户动态创建的新DOM树,然后使用所有输入框中的值生成一个数组 处理后,将显示不同的值(最大值、最小值、平均值、公式返回结果等)我认为您可以创建一个div和一个数组来存储值,然后创建一个函数,用户每次选择添加新值时,它都会在该数组上保存当前值并清除输入。因此,当

我需要用一个输入框动态生成多个div,这样用户就可以添加一个数字

用户可以通过单击按钮添加任意数量的div,并在输入框中输入一个数字

用户输入完数据后,必须单击按钮来处理数据

我已经了解了如何使用React遍历现有数组,但没有了解如何遍历用户动态创建的新DOM树,然后使用所有输入框中的值生成一个数组


处理后,将显示不同的值(最大值、最小值、平均值、公式返回结果等)

我认为您可以创建一个div和一个数组来存储值,然后创建一个函数,用户每次选择添加新值时,它都会在该数组上保存当前值并清除输入。因此,当用户选择处理该数组中的数据并执行所需操作时。

我认为您可以创建一个div和一个数组来存储值,然后创建一个函数,每当用户选择添加新值时,它都会保存该数组中的当前值并清除输入。因此,当用户选择处理数据时,它将获取该数组并执行您需要的操作。

如果看不到您的代码,很难提供帮助,但您可能希望使用受控输入而不是非受控输入,因此您可以将输入的当前值数组作为状态信息

例如,在使用挂钩的功能组件中:

const{useState}=React;
函数示例(){
//我们在输入上使用的值
const[values,setValues]=useState([]);
//更新给定索引处的值
常量updateValue=(值,索引)=>{
设置值(值=>
赋值([],值,{[index]:值})
);
};
//添加输入
常量addInput=()=>{
设置值(值=>[…值,“]);
};
//求和(只是一个例子;我将使用“reduce”这几个地方之一)
常量和=值。减少((和,值)=>和+数(值),0);
//渲染尽可能多的输入值,以及
//按钮添加输入和总和
返回(
{values.map((值,索引)=>
updateValue(evt.target.value,index)}/>
)}
总和:{Sum}
);
}
render(,document.getElementById(“根”))

在看不到代码的情况下,很难提供帮助,但您可能希望使用受控输入,而不是非受控输入,因此您可以将输入的当前值数组作为状态信息

例如,在使用挂钩的功能组件中:

const{useState}=React;
函数示例(){
//我们在输入上使用的值
const[values,setValues]=useState([]);
//更新给定索引处的值
常量updateValue=(值,索引)=>{
设置值(值=>
赋值([],值,{[index]:值})
);
};
//添加输入
常量addInput=()=>{
设置值(值=>[…值,“]);
};
//求和(只是一个例子;我将使用“reduce”这几个地方之一)
常量和=值。减少((和,值)=>和+数(值),0);
//渲染尽可能多的输入值,以及
//按钮添加输入和总和
返回(
{values.map((值,索引)=>
updateValue(evt.target.value,index)}/>
)}
总和:{Sum}
);
}
render(,document.getElementById(“根”))


欢迎使用堆栈溢出!请看一下,特别是我还推荐Jon Skeet的。通过演示问题,可以更轻松地帮助您更新问题,最好是使用堆栈片段(
[]
工具栏按钮)运行问题。堆栈代码段支持React,包括JSX。欢迎来到堆栈溢出!请看一下,特别是我还推荐Jon Skeet的。通过演示问题,可以更轻松地帮助您更新问题,最好是使用堆栈片段(
[]
工具栏按钮)运行问题。堆栈代码段支持React,包括JSX。我会仔细研究的,谢谢你的回答。我刚刚在React中发现了表单,也许我也可以使用它。谢谢我会仔细研究的,谢谢你的回答。我刚刚在React中发现了表单,也许我也可以使用它。谢谢谢谢,但不仅仅是一个简单的div。它是一堆div,每个div都有文本、几个按钮和至少一个输入框。最后可能是30或40个div。谢谢,但不只是一个简单的div。它是一堆div,每个div都有文本、几个按钮和至少一个输入框。最后可能是30或40个div。