【发布时间】:2019-08-10 03:39:35
【问题描述】:
我是 react-native 新手。
我正在尝试在我的应用程序中使用异步存储。 我希望异步存储在用户登录时存储令牌,它将导航到主屏幕。在主屏幕上,我试图通过异步存储获取令牌并将其打印在控制台上,但我得到的只是承诺。我只想知道使用异步存储的正确方法是什么,尤其是在存储令牌时?我知道这个问题的替代方法是使用 Redux 状态管理,但我正在尝试学习基本方法。
我尝试将令牌存储在 ComponentWillMount() 中的变量中,但它仍然不起作用。
class HomeScreen extends Component {
constructor(props) {
super(props);
this.state = {};
}
componentWillMount() {
token = getToken();
}
render() {
const { navigate } = this.props.navigation;
console.log(token);
return (
<View style={styles.container}>
<Text> HomeScreen </Text>
</View>
);
}
}
const getToken = async () => {
let token = "";
try {
token = await AsyncStorage.getItem("token");
} catch (error) {
console.log(error);
}
return token;
};
【问题讨论】:
-
getToken是async所以当你尝试 console.log 时它还没有返回 -
嗨,那么获取令牌的正确方法是什么,以便我可以在控制台中打印令牌?