这是我得到的错误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;