undefined不是一个函数(评估'_app.default.database()')

问题描述 投票:2回答:1

当我尝试创建一个新员工时,我收到了一条错误消息(输入数据到firebase的数据库,请注意它不是来自身份验证选项卡中的电子邮件/密码登录)。只有在我单击提交按钮(应该将用户输入的数据输入到数据库中)之后才会出现问题。此外,由于电子邮件/密码的注册和登录正常工作,我应该已连接到firebase。

像这样:android模拟器屏幕上的错误:undefined is not a function (evaluating '_app.default.database()')

之后的一行也说明:D:\Programs\reactnative\manager\src\actions\EmployeeActions.js:20:2有错误

从gradle信息中,这些是我在实践中使用的:

"@babel/runtime": "^7.3.1",
"firebase": "^4.9.1",
"react": "16.6.3",
"react-native": "0.58.4",
"react-native-router-flux": "^3.45.0",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0"

这是我在EmployeeActions.js中的代码,我认为这涉及到这个错误:

import firebase from '@firebase/app';
import '@firebase/auth';
import { Actions } from 'react-native-router-flux';
import {
  EMPLOYEE_UPDATE,
  EMPLOYEE_CREATE
} from './types';

export const employeeUpdate = ({ prop, value }) => {
  return {
    type: EMPLOYEE_UPDATE,
    payload: { prop, value }
  };
};

export const employeeCreate = ({ name, phone, shift }) => {
  const { currentUser } = firebase.auth();

return (dispatch) => {
  firebase
  .database()
  .ref(`/users/${currentUser.uid}/employees`)
    .push({ name, phone, shift })
    .then(() => {
      dispatch({ type: EMPLOYEE_CREATE });
      Actions.employeeList({ type: 'reset' });
    });
  };
};

我知道有很多'未定义的不是对象'的错误情况,但它们经常与我的情况略有不同,这使我感到困惑。我对自己的反应很新,任何帮助都会受到赞赏。

谢谢你的进步。

firebase react-native react-native-router-flux
1个回答
1
投票

你需要使用:

要求( '@火力/数据库');

在EmployeeActions.js中

© www.soinside.com 2019 - 2024. All rights reserved.