每次出现新的不同错误时:例如:“TypeError:Object(...)”或“Cannot call reactReduxFirebase() - TypeError: Object is not a function” 我是 firebase 新手。我正在尝试将 firebase 与 react、redux、redux-thunk 集成。firebase 最近推出了新版本 v9,我迷路的配置发生了一些变化。目的只是云我已经在我的数据库中有一个名为“项目”的集合和一些虚拟数据。
配置.js
import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';
const fbConfig = {
// my app details ///
};
firebase.initializeApp(fbConfig);
firebase.firestore().settings({ timestampsInSnapshots: true });
export default firebase;
索引.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './index.css'
import {createStore, compose, applyMiddleware} from 'redux';
import {Provider} from 'react-redux';
import rootReducer from './store/reducers/rootReducer';
import thunk from 'redux-thunk';
import { reduxFirestore, getFirestore } from 'redux-firestore';
import { reactReduxFirebase, getFirebase } from 'react-redux-firebase';
import fbConfig from './config/fbConfig'
const store = createStore(rootReducer,
compose(
applyMiddleware(thunk.withExtraArgument({getFirebase, getFirestore})),
reactReduxFirebase(fbConfig), // redux binding for firebase
reduxFirestore(fbConfig) // redux bindings for firestore
)
);
ReactDOM.render(
<React.StrictMode>
<Provider store={store}>
<App />
</Provider>
</React.StrictMode>,
document.getElementById('root')
);
projectAction.js
export const createProject = (project)=>{
return (dispatch, getState,{getFirebase, getFirestore})=>{
const firestore = getFirestore();
firestore.collection('projects').add({
...project,
authorFirstName:'mrxman',
authorLastName:'simon',
authorId:123456,
createdAt:new Date()
}).then(() => {
dispatch({
type: 'CREATE_PROJECT',
project
})
}).catch((err) => {
dispatch({ type: 'CREATE_PROJECT_ERROR', err })
})
}
}