首页 > 解决方案 > 反应本机状态不更新功能

问题描述

反应原生状态不更新。警报中的位置返回空。请帮帮我

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();
});

标签: reactjsreact-native

解决方案


尝试这个

const _location = useCallback(()=>{
    setLocation('Hi')
  },console.warn(location)
)

代替

const _location = () => {
  setLocation("Konum Ekle");
  alert(location);
}

基本上 setState 是异步的。因此,在 setLocation 的回调中调用您的警报,因此一旦 setLocation 完成,您的警报就会生效。


推荐阅读