当我尝试创建一个新员工时,我收到了一条错误消息(输入数据到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' });
});
};
};
我知道有很多'未定义的不是对象'的错误情况,但它们经常与我的情况略有不同,这使我感到困惑。我对自己的反应很新,任何帮助都会受到赞赏。
谢谢你的进步。
你需要使用:
要求( '@火力/数据库');
在EmployeeActions.js中