[英]How to get data from a promise (async/await) and use it `outside` the promise?
所以我等待承诺兑现,然后我想在.then()
或async
函数之外使用结果数据。
function HomeScreen() {
const userData = async () => {
await AsyncStorage.getItem("user_nicename")
}
return (
<View style={styles.container}>
<Text>Hello, { userData() } </Text> //*I want to use it here for example*//
<Button
style={styles.buttonLogin}
onPress={() => navigation.navigate('LoginScreen')}
title='Logout'
/>
</View>
)
}
export default HomeScreen;
当然我的代码会抛出一个错误,因为userData()
是一个“承诺对象”。 我只想要字符串值,在.then(data => ... )
内部访问没有问题。 但是我如何在外面访问它以便我可以在其他地方使用它?
你使用useState
和useEffect
import { useState, useEffect } from "react";
function HomeScreen() {
const [userData, setUserData] = useState(undefined);
useEffect(() => {
(async () => {
setUserData(await AsyncStorage.getItem("user_nicename"));
})();
}, []);
return (
<View style={styles.container}>
<Text>Hello, { userData } </Text>
<Button
style={styles.buttonLogin}
onPress={() => navigation.navigate('LoginScreen')}
title='Logout'
/>
</View>
)
}
export default HomeScreen;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.