reactjs - 反应本机状态不更新功能
问题描述
反应原生状态不更新。警报中的位置返回空。请帮帮我
function Home({ route, navigation }) {
const [location, setLocation] = useState('');
const _appStart = () => {
_location();
}
const _location = () => {
setLocation("Konum Ekle");
alert(location);
}
React.useEffect(() => {
const unsubscribe = navigation.addListener('focus', () => {
_appStart();
});
解决方案
尝试这个
const _location = useCallback(()=>{
setLocation('Hi')
},console.warn(location)
)
代替
const _location = () => {
setLocation("Konum Ekle");
alert(location);
}
基本上 setState 是异步的。因此,在 setLocation 的回调中调用您的警报,因此一旦 setLocation 完成,您的警报就会生效。