Попытка сделать индекс прямым администратором другой страницы после получения данных из firebase, реагировать - PullRequest
0 голосов
/ 20 июня 2020

Когда новый пользователь пытается зарегистрировать мое приложение, страница регистрации сохраняет в Firebase в реальном времени его UID, почту, отображаемое имя и логическое значение «Admin = false». (если я хочу, чтобы пользователь стал администратором, я меняю его вручную в firebase).

Моя проблема:

когда пользователь входит в систему, я хочу проверить, есть ли у его администратора верно, если это так, направьте его на HomePageAdmin (домашняя страница администратора ..).

Прямо сейчас мой индекс направляет пользователя на HomePageUser только тогда, когда его статус ведения журнала истинен.

мой индекс:


    state = {loggedIn: false}

    componentWillMount() {
        firebase.auth().onAuthStateChanged((user) => {
            if(user) {
                this.setState({loggedIn: true})
            }
            else {
                this.setState({loggedIn: false})
            }
        })
    }

    renderContent() {

        if(!this.state.loggedIn) {
            return (<MainLogin/>)
        }
        else return <HomePageUser/>
    }

    render () {
        return (
            this.renderContent()
        )
    }
}

AppRegistry.registerComponent(appName, () => loginHelper);

мой метод получения статуса администратора из firebase:

function adminCheck() { 
    db.ref('Users/'+uid+'/Admin').once('value', function (snapshot) {
         const exist = (snapshot.val() !== null);

         if (exist) {
            Admin = snapshot.val();
            alert(Admin);
            console.log("user data loaded");

         }
     });
    }

Я пытался добавить условия к renderContent(),

, но он просто выиграл не работает. Данные загружаются заранее перед получением данных из firebase.

Как я могу заставить его работать?

...