как подключить приложение expo на моем телефоне к firebase? Возможно ли это? - PullRequest
1 голос
/ 29 мая 2020

Я новичок в React native. Сегодня я хотел создать страницу входа и регистрации, связанную с firebase. Я последовал этому руководству - https://www.youtube.com/watch?v=TkuQAjnaSbM&t=110s - слово в слово и нашел его очень успешным.

Я установил приложение expo на свой ios телефон и получаю оттуда сборки. Единственная разница между нами и учебником в видео заключается в том, что он использует эмулятор android, и я использую приложение expo на моем реальном телефоне. Но проблема в том, что я не могу добавлять новых пользователей в firebase через скрипт. Я тоже код делюсь. Буду признателен, если вы поможете.

handleSignUp=() => {
    firebase
    .auth()
    .createUserWithEmailAndPassword(this.state.email, this.state.password)
    .then(userCredentinals => {
            return userCredentinals.user.updateProfile({
                displayName: this.state.name
            });
    })
    .catch(error => this.setState({ errorMessage: error.messsage}));
};

почему-то не могу подключиться к firebase. но я уверен, что поместил блок кода конфигурации в нужное место. Может быть, я не авторизован записывать свой телефон в базу данных, которую использую в качестве эмулятора?

<TouchableOpacity style={styles.button}> 
                        <Text style={{color:"#FFF", fontWeight: "500"}}
                        onPress={this.handleSignUp}
                        onPress={() => this.props.navigation.navigate("Home")}
                        >Kayıt Ol</Text>
                    </TouchableOpacity>

enter image description here

1 Ответ

1 голос
/ 29 мая 2020

Пожалуйста, обновите вашу функцию следующим образом.

const handleSignUp = () => {
    console.log('Function is called');

    firebase
    .auth()
    .createUserWithEmailAndPassword(this.state.email, this.state.password)
    .then(userCredentinals => {
            console.log('Success');
            return userCredentinals.user.updateProfile({
                displayName: this.state.name
            });
    })
    .catch(error => {
       console.log(error);
       this.setState({ errorMessage: error.messsage});
    });
};

Затем, пожалуйста, обновите свой вопрос тем, что вы видите в console. Тогда я смогу помочь вам решить эту проблему.

...