我目前正在开发React Native应用,并且我正在尝试实现一个抽屉式导航,当用户注销时,该导航会显示不同的布局,而在用户登录时会显示不同的布局。我尝试在“抽屉导航”文件中使用state来检查用户是否登录,然后返回适当的抽屉导航器,但导航仅在启动应用程序时更新。有办法实现吗?
自定义抽屉导航器代码: `export默认类MainWrapper扩展了组件{
constructor(props) {
super(props);
this.state = {
isLoading: true,
isAuth: false
};
this.getUserData = this.getUserData.bind(this);
}
componentDidMount() {
this.getUserData();
}
async getUserData() {
AsyncStorage
.getItem(ENV.ASYNC_STRG_VARS.USR_DTLS)
.then((data) => {
if(data === null) {
this.setState({
isLoading: false,
isAuth: false
});
return;
}
if(data[0].user_session === "true") {
this.setState({
isLoading: false,
isAuth: true
});
return;
}
this.setState({
isLoading: false,
isAuth: false
});
})
.catch(() => {
this.setState({
isLoading: false,
isAuth: false
});
});
}
render() {
if(this.state.isLoading) {
return(
<View style={styles.contentContainer}>
<Spinner />
</View>
)
}
if (this.state.isAuth) {
return (
<AuthenticatedDrawer />
)
}
return (
<UnauthenticatedDrawer />
)
}
}
谢谢!