Динамически изменяющаяся раскладка ящика реагирует на родную - PullRequest
0 голосов
/ 12 декабря 2018

В настоящее время я занимаюсь разработкой приложения React Native и пытаюсь реализовать навигацию по ящикам, которая при выходе пользователя отображает другой макет, а при входе пользователя - другой макет.Я попытался использовать состояние в файле навигации ящика, чтобы проверить, вошел ли пользователь в систему или нет, а затем вернул соответствующий навигатор, но навигация обновляется только при запуске приложения.Есть ли способ реализовать это?

Пользовательский код навигатора ящика: `экспорт класса по умолчанию MainWrapper extends Component {

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 />
    )
}

}

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...