如何在响应中将单个字母与onChange事件分开?

问题描述

我是React的新手,但有一个我不知道如何解决的问题。

我有一个状态可以跟踪我在textInput上键入的内容。但是,当我console.log输入我在textInput上键入的输入时,它会在我键入时显示整个块,例如“ a”,“ ab”,“ abc”。我希望能够控制我键入的每个输入,例如“ a”,“ b”,“ c”,而不是整个输入,例如“ abc”。为此,不幸的是,我尝试了map和split函数,该函数犯了一些错误

有人可以提供一些建议吗?我要附上以下几行。

const Words = () => {
  const [correctLetters,setCorrectLetters] = useState([]);
  const correctLettersHandler = (input) => {
  //console.log(input) -> it shows the whole inputs
  //const letter = input.map((letter) => letter.split("")); -> Failed try
  setCorrectLetters(input);
  }
  return (
    <View>
     <TextInput
       value={correctLetters}
       onChangeTedt={correctLettersHandler}
    </View>
 }

解决方法

我建议您看看The KeyboardEvent Object,以全面了解键盘事件。

在底部有属于KeyboardEvent对象的事件类型(Derek在对该问题的评论中已经提到):

  • onkeydown,即用户按下键时发生的事件
  • onkeypress,即用户按下按键时发生的事件
  • onkeyup,即用户释放键时发生的事件