问题描述
我有一个状态可以跟踪我在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,即用户释放键时发生的事件