React Native Firebase + Redux (дополнительная информация о профиле пользователя) - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь создать поток регистрации, который включает в себя проверку подлинности Firebase (это прекрасно работает, простую реализацию), а также дополнительную информацию о профиле (firstName, lastName, аватар и т. Д.).

Я обнаружил, что использование response-redux, вероятно, является подходящим способом, но я не могу найти в Интернете никаких учебных пособий, посвященных React Native, Firebase и Redux. Все, что я нахожу, похоже, не работает.

Должен ли я отказаться от реактивной базы огня для реактивной базы? Я на начальных этапах, поэтому предпочел бы принимать лучшие решения сейчас. Я также буду обрабатывать некоторые другие данные базы данных в реальном времени.

1 Ответ

0 голосов
/ 23 октября 2019

Вы можете создать коллекцию "users" в вашей базе данных firestore, и каждый раз, когда пользователь регистрируется, кроме перехода в черту {authentication}, он также будет создаваться в коллекции.

, потому что вы этого не сделалиприкрепите код, я не уверен, насколько похожим он будет выглядеть (в этом коде используется response-redux-firebase ex https://github.com/prescottprue/react-redux-firebase), но -

------------------------------- redux-action

export const register = newUser => {
  return (dispatch, getState, { getFirebase, getFirestore }) => {
     const firebase = getFirebase();
     const firestore = getFirestore();
     firebase
        .auth()
        .createUserWithEmailAndPassword(newUser.email, newUser.password)

        //after auth we want to create user object in firestore collection with same uid

        .then(resp => {
            return firestore
                .collection('users')
                .doc(resp.user.uid)
                .set({
                    name: newUser.name,
                    email: newUser.email
                });
        })
        .then(() => {
            dispatch({ type: 'REGISTER' });
        })
        .catch(err => {
            dispatch({
                type: 'ERROR',
                err
            });
        });
     };
 };    

, а затем, имея объекты для всех пользователей, это динамично и легко настраиваетсяснимок


...