在反应中我如何只获得 onchange 函数的最后一个值

In react how do I get only the last value for a onchange function

我是新手。 我想从对象数组中的输入中收集值。 但是在输入的 onChange 上,它将所有字母添加到数组中。 我只想收集最后一个条目。 我该怎么做?

 <input
                type="text"
                placeholder="Ecrivez votre question"
                onChange={(event) => {
                  let tab = [...questionsTitle];
                  tab.push({
                    index: index,
                    type: questionType[index],
                    title: event.target.value,
                  });
                  setQuestionsTitle(tab);
                }}
              ></input>

正如您在屏幕截图中看到的,我的数组很长。如何在不遍历所有字母的情况下获取值?

先谢谢你了。

screenshot

您可以使用方括号获取最后一个,例如 event.target.value[-1] 您可以复制以下代码。

 <input
            type="text"
            placeholder="Ecrivez votre question"
            onChange={(event) => {
              let tab = [...questionsTitle];
              tab.push({
                index: index,
                type: questionType[index],
                title: event.target.value[-1],
              });
              setQuestionsTitle(tab);
            }}
          ></input>

如果值已经存在则更新该值,否则推送新对象。下面是示例代码

<input
type="text"
placeholder="Ecrivez votre question"
onChange={(event) => {
    let tab = [...questionsTitle];
    let tabIndex = tab.findIndex(x => x.index === index);
    if (tabIndex !== -1) {
        tab[tabIndex].type = questionType[index]
        tab[tabIndex].title = event.target.value
    } else {
        tab.push({
            index: index,
            type: questionType[index],
            title: event.target.value,
        });
    }
    setQuestionsTitle(tab);
}}