首页 > 解决方案 > setState 在本机反应(博览会)中未正确设置值

问题描述

我正在将一个值设置为按下按钮时的 useState 挂钩但不工作。

const [text, setText] = useState("")

const demo = () => {
   setText("Hello world")
   alert(text)
}


<TouchableOpacity onPress={demo}>
   <Text>set Value</Text
</TouchableOpacity>

标签: reactjsreact-nativereact-hooksexposetstate

解决方案


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>

推荐阅读