将react native连接到firebase和mysql

将react native连接到firebase和mysql,mysql,firebase,react-native,Mysql,Firebase,React Native,我正在使用react native开发一个应用程序。我可以轻松地将react本机应用程序连接到firebase。我的想法是使用firebase身份验证,但使用MySQL数据库中的数据。 使用firebase和mysql的最佳/正确方法是什么 我的想法是使用来自react native到mysql的ajax请求,以便根据mysql数据库中的数据验证用户名和密码。然后使用此请求返回的ID从firebase创建或加载用户。这是正确的方法吗 如果没有道理,我很抱歉。我刚开始使用react native和

我正在使用react native开发一个应用程序。我可以轻松地将react本机应用程序连接到firebase。我的想法是使用firebase身份验证,但使用MySQL数据库中的数据。 使用firebase和mysql的最佳/正确方法是什么

我的想法是使用来自react native到mysql的ajax请求,以便根据mysql数据库中的数据验证用户名和密码。然后使用此请求返回的ID从firebase创建或加载用户。这是正确的方法吗

如果没有道理,我很抱歉。我刚开始使用react native和firebase

谢谢

那么

对于mysql,您可以使用axios插件。是使用mysql数据库的最佳方式

Firebase使用异步请求,如果您想同时使用两者,最好的方法是使用axios

首先,从mysql表中获取用户,对吗? 所以你可以这样做:

return axios.get(server_address&param=PARAM_VALUE)                          
            .then(response => {                                     
                return(response);
            }).catch(function(error) {
                alert.error(error.message);
            });
Axios总是返回JSON响应。 您可以使用GET或POST方法

所以。。。使用JSON,您可以向firebase发送数据以加载或创建用户

就像这样:

return firebase
    .auth()
    .signInWithEmailAndPassword(loginEmail,loginPassword)
    .then( user => {            
        return user;
    })
    .catch(error => {
        if ((error.code == 'auth/user-not-found') || (error.code == 'auth/invalid-email'))  {
            return new Promise((resolve, reject) => {
                Alert.alert(
                    'User not found',
                    'Create ?',
                    [{
                        text: 'No',
                        onPress:() => resolve(),
                        style:'cancel'
                    },{
                        text:'Yes',
                        onPress: () =>{
                            firebase
                            .auth()
                            .createUserWithEmailAndPassword(loginEmail,loginPassword)
                            .then(resolve)
                            .catch(reject)
                        }
                    }],
                    {cancelable: false}
                )
            })
        }
        return Promise.reject(error)
    })
有关axios的完整指南:

有关firebase的完整指南: 嗯

对于mysql,您可以使用axios插件。是使用mysql数据库的最佳方式

Firebase使用异步请求,如果您想同时使用两者,最好的方法是使用axios

首先,从mysql表中获取用户,对吗? 所以你可以这样做:

return axios.get(server_address&param=PARAM_VALUE)                          
            .then(response => {                                     
                return(response);
            }).catch(function(error) {
                alert.error(error.message);
            });
Axios总是返回JSON响应。 您可以使用GET或POST方法

所以。。。使用JSON,您可以向firebase发送数据以加载或创建用户

就像这样:

return firebase
    .auth()
    .signInWithEmailAndPassword(loginEmail,loginPassword)
    .then( user => {            
        return user;
    })
    .catch(error => {
        if ((error.code == 'auth/user-not-found') || (error.code == 'auth/invalid-email'))  {
            return new Promise((resolve, reject) => {
                Alert.alert(
                    'User not found',
                    'Create ?',
                    [{
                        text: 'No',
                        onPress:() => resolve(),
                        style:'cancel'
                    },{
                        text:'Yes',
                        onPress: () =>{
                            firebase
                            .auth()
                            .createUserWithEmailAndPassword(loginEmail,loginPassword)
                            .then(resolve)
                            .catch(reject)
                        }
                    }],
                    {cancelable: false}
                )
            })
        }
        return Promise.reject(error)
    })
有关axios的完整指南:

有关firebase的完整指南:

你必须有一个专用服务器,否则它不安全。你是说我的MySQL数据库有一个服务器吗?你必须有一个专用服务器,否则它不安全。你是说我的MySQL数据库有一个服务器吗?