reactjs - setState 在本机反应(博览会)中未正确设置值
问题描述
我正在将一个值设置为按下按钮时的 useState 挂钩但不工作。
const [text, setText] = useState("")
const demo = () => {
setText("Hello world")
alert(text)
}
<TouchableOpacity onPress={demo}>
<Text>set Value</Text
</TouchableOpacity>
解决方案
setText
是异步函数。如果您alert(text)
的旧值将被提醒。
你应该useEffect
const [text, setText] = useState("")
const demo = () => {
setText("Hello world")
}
useEffect(() => {
alert(text)
}, [text])
<TouchableOpacity onPress={demo}>
<Text>set Value</Text
</TouchableOpacity>
推荐阅读
- c# - 在 C# 中使用类方法的实例方法作为委托而不是静态类函数作为委托有什么好处?
- scala - Scala语法规范不匹配if-else与一行表达式以分号结尾?
- vuelidate - 与 Vue 3 一起使用时出现 Vuelidate TypeError
- django - DRF 在视图集或序列化程序中创建方法
- php - 在数组中搜索或比较值
- c - FFMPEG libx265 编码在 avcodec_free_context 后未释放内存
- .net - BizTalk 中的 ISO schematron 验证有哪些替代方法?
- php - 使用相同的项目简化 PHP 数组
- android - Android 加密无法使用 KeyStore 解密数据 Generated kaypair KeyStoreException: Unknown error
- twilio - 使用谷歌语音到文本 API 覆盖文本