firebase.on方法不会引发函数错误



这是我得到的错误Uncaught TypeError: _config_fire__WEBPACK_IMPORTED_MODULE_2__.default.on is not a function

我的其他firebase函数,通常是firebaseauth,执行得很好(不在这个文件中(。我输入错了吗?我是这样称呼它的:

/* eslint-disable react/no-unused-state */
/* eslint-disable new-cap */
/* eslint-disable class-methods-use-this */
import React, { Component } from 'react';
import { Map } from 'immutable';
import fbase from '../config/fire';
import Entry from './leaderboard_entry';
class Leaderboard extends Component {
constructor(props) {
super(props);
this.state = {
users: Map(),
};
}
initialize() {
fbase.on('value', (snapshot) => {
const newUserState = snapshot.val();
this.setState({ users: Map(newUserState) });
}, (error) => {
console.error(error);
});
}

如果你需要,这里有配置

import firebase from 'firebase';
const firebaseConfig = {
apiKey: 
authDomain: 
databaseURL:
projectId: 
storageBucket: 
messagingSenderId:
appId: 
};
const fbase = firebase.initializeApp(firebaseConfig);
export default fbase;

详细信息已编辑。

错误是正确的,您正试图在firebase应用程序上错误地执行for References。更新您的代码以访问数据库并获得对数据路径的引用,然后您可以挂接值:

fbase.database().ref('/some-path').on('value', (snapshot) => {
const newUserState = snapshot.val();
this.setState({ users: Map(newUserState) });
}, (error) => {
console.error(error);
});

此外,您还需要为您正在使用的任何模块进行静态导入:

import 'firebase/auth';
import 'firebase/database';

希望这能有所帮助!

您需要导入firebase/firestore包。

您的代码应该如下所示。

import firebase from 'firebase';
import 'firebase/firestore';
const firebaseConfig = {
apiKey: 
authDomain: 
databaseURL:
projectId: 
storageBucket: 
messagingSenderId:
appId: 
};
const fbase = firebase.initializeApp(firebaseConfig);
export default fbase;

最新更新