动态更改的抽屉导航布局可响应本机

时间:2018-12-12 17:29:28

标签: react-native react-navigation

我目前正在开发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 />
    )
}

}

谢谢!

0 个答案:

没有答案