每次只从这个地图方法中获取最后一个元素

Getting only last element from this map method every time

OnSubmit 我正在调用 handleSubmit 函数,它有两个参数事件,doc。

const handleRename = (e, doc) => {
    console.log(doc); 
}

现在在渲染部分我有每个元素的数组和模型形式,如下所示:

{
   ArrayName.map((doc) => {
      <form onSubmit={(e) => handleRename(e, doc)}>
        ...
      </form>
}

我每次都获取数组的最后一个元素,而不是获取单个文档。 谁能知道出了什么问题?

提前致谢

尝试将其更改为

ArrayName.map((doc) => {
  return (<form onSubmit={(e) => {handleRename(e, doc)}}>
    ...
  </form>)

阅读 this 该页面将最好地解释错误。检查高级语法

(e) => handleRename(e, doc) 您代码的这一部分,而不是返回一个函数,而是立即对其进行评估。

您走在正确的轨道上,但您只是错过了 return 从数组映射中获取组件。

ArrayName.map((doc) => {
   return (
      <form onSubmit={(e) => handleRename(e, doc)}>
         ...
      </form>
   );
}

或更好 shorthand return 语句:

ArrayName.map((doc) => (
    <form onSubmit={(e) => handleRename(e, doc)}>
       ...
    </form>
));

有关 map 的更多信息。

Shorthand React return on map