Не удается прочитать свойство 'firebaseApp' из неопределенного, используя Ngrx - PullRequest
0 голосов
/ 31 августа 2018

Ошибка при назначении полной аутентификации Firebase Возврат

Я вхожу в свое приложение, и в момент успешного входа в систему я вызываю действие, чтобы изменить состояние моего приложения, получающего данные аутентифицированного пользователя Аутентификация Firebase .

Когда я пытаюсь передать весь объект user, возникает следующая ошибка:

ERROR TypeError: Cannot read property 'firebaseApp' of undefined
    at Object.get [as app] (http://localhost:4200/vendor.js:165544:31)
    at http://localhost:4200/vendor.js:193044:9
    at Array.forEach (<anonymous>)
    at deepFreeze (http://localhost:4200/vendor.js:193041:33)

Это происходит, когда я запускаю constructor(user: any) в своем действии со всем объектом, возвращенным с сервера Firebase.

Но если я обращаюсь к другим свойствам объекта с помощью: (id, displayName, email), эта ошибка не возникает, она возникает, только когда я пытаюсь присвоить весь возвращаемый объект.

auth.effets.ts

@Effect()
loginAction$: Observable<Action> = this._actions$
    .ofType(authActions.ActionsTypes.LOGIN_REQUESTED).pipe(
        map((action: authActions.LoginCompletedAction) => action.payload),
        switchMap(payload => this._authService.loginWithEmailAndPassword(payload.user).pipe(
            map((res) => (new authActions.LoginCompletedAction(new authActions.AuthUserPayload(res.user)))),
            catchError((error) => of(new authActions.AuthErrorAction({ error: error })))
        ))
    );

res.user -> ERROR OCCURS (возврат Firebase при вызове метода signInWithEmailAndPassword (электронная почта, пароль))

res.user.displayName -> Таким образом, ошибки не возникает и displayName добавляется в состояние аутентификации с использованием Ngrx.

auth.actions.ts

// ... omitted
export class AuthUserPayload {
    constructor(public user: any) { 
        console.log(user); 
        // I have the feedback but the error occurs.
        // the error just does not happen when I do not assign the entire user object.


    }
}

app.module.ts:

AngularFireModule.initializeApp(environment.firebase),
AngularFireAuthModule,
AngularFirestoreModule.enablePersistence(),
AngularFireDatabaseModule

1 Ответ

0 голосов
/ 27 ноября 2018

Мне кажется, что проблема в конфликте с storeFreeze. Удаление его из моих metaReducers избавляет от ошибки. Я не стал вдаваться в подробности.

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