当我尝试创建一个新员工时,我收到了一个错误消息(输入数据到Firebase的数据库,请注意,这与"身份验证"选项卡中的电子邮件/密码登录无关)。问题只有在我单击"提交"按钮后才出现(应该输入用户输入数据库中的数据库。此外,由于电子邮件/密码的寄存器和登录正确,我应该已经连接到firebase。
这样的错误时,Android模拟器屏幕上的错误: undefined is not a function (evaluating '_app.default.database()')
一条线之后还指出: D:ProgramsreactnativemanagersrcactionsEmployeeActions.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"
这是我在applyeeactions.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' });
});
};
};
我知道,有很多"未定义不是对象"的错误情况,但是它们通常与我的案例略有不同,这使我感到困惑。我本人在反应中很新,任何帮助都将不胜感激。
感谢进步。
您需要使用:
require('@firebase/database');
在in opplyeeactions.js