对象作为 React 子对象无效(react-native)
2018-06-06
1927
我正在尝试在我的 React Native 项目中初始化 Firebase。
我正在初始化它的
App.js
的代码是
import React, {Component} from 'react';
import {View, Text} from 'react-native';
import {Provider} from 'react-redux';
import {createStore} from 'redux';
import reducers from './reducers';
import firebase from 'firebase';
class App extends Component {
componentWillMount () {
const config = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
};
firebase.initializeApp(config);
}
render() {
return (
<Provider store={createStore(reducers)}>
<View>
<Text>Hello! </Text>
</View>
</Provider>
);
}
}
export default App;
当我只包含
import firebase from 'firebase';
并且不初始化
config
时,我甚至会遇到同样的错误>
2个回答
导出在版本 5.0.4 及更高版本中发生了变化。现在您需要这样做:
从“@firebase/app”导入 firebase
如果您使用 eslint,您可能会收到一个投诉,即它应该列在项目依赖项中,但您可以忽略它。
您可能还想使用 firebase 的实际功能,而不仅仅是核心导入。例如,要使用身份验证模块,您需要添加以下内容:
导入“@firebase/auth”
groksrc
2018-07-29
尝试在构造函数上初始化,而不是在 componentWillMount 上初始化
import React, {Component} from 'react';
import {View, Text} from 'react-native';
import {Provider} from 'react-redux';
import {createStore} from 'redux';
import reducers from './reducers';
import firebase from 'firebase';
class App extends Component {
constructor(props){
super(props)
const config = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
};
firebase.initializeApp(config);
}
render() {
return (
<Provider store={createStore(reducers)}>
<View>
<Text>Hello! </Text>
</View>
</Provider>
);
}
}
export default App;
Bruno Mazzardo
2018-06-06