我正在使用useState
来保留输入的值,并且在点击特定键时需要做一些事情,因此我尝试使用onKeyPress
,但是使用的方法更新状态无法正常工作,请帮助:)
代码如下:
...
function handleKeyPress(event) {
// This code looks like is not running, why?
setMessageInput('asdasdasdasd')
}
...
<TextInput onKeyPress={handleKeyPress} />
...
答案 0 :(得分:0)
您似乎需要将函数绑定到onKeyPress事件处理程序。您可以使用arrow function轻松完成此操作。
function handleKeyPress(event) {
setMessageInput('asdasdasdasd')
}
...
<TextInput onKeyPress={(e) => handleKeyPress(e)} />
答案 1 :(得分:0)
您的问题是一个javscript语句,其中javascript中的函数需要在类组件中对此进行显式绑定,而在功能组件中,您可以使用胖箭头函数来实现相同功能。
因此请尝试使用以下代码替换
const handleKeyPress = (event) => {
setMessageInput('asdasdasdasd')
}
...
<TextInput onKeyPress={(e) => handleKeyPress(e)} />
希望有帮助。毫无疑问
答案 2 :(得分:0)
我解决了这个问题,这是另一个处理程序异步执行的问题