TypeError: Object(...) 不是 index.js 上的函数
Posted
技术标签:
【中文标题】TypeError: Object(...) 不是 index.js 上的函数【英文标题】:TypeError: Object(...) is not a function on index.js 【发布时间】:2019-08-28 19:11:09 【问题描述】:您好,当我在浏览器中运行代码时出现此错误:
TypeError: Object(...) 不是函数 ./src/index.js src/index.js:31
28 | firebaseStateName: 'firebase' 29 | 30 |常量初始状态 = ;
31 | const store = createStore(rootReducer,initialState, 32 |撰写( 33 | applyMiddleware(thunk.withExtraArgument( getFirebase, getFirestore )), 34 | reactReduxFirebase(firebase, config),
我尝试使用事物库:
http://docs.react-redux-firebase.com/history/v3.0.0/docs/integrations/thunks.html
但是仍然没有成功:/
在我的 index.js 文件下方
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import createStore, applyMiddleware, compose from 'redux'
import rootReducer from './store/reducers/rootReducer'
import Provider from 'react-redux'
import thunk from 'redux-thunk'
import createFirestoreInstance, reduxFirestore, getFirestore from 'redux-firestore';
import ReactReduxFirebaseProvider, reactReduxFirebase, getFirebase from 'react-redux-firebase';
import fbConfig from './config/fbconfig'
import firebase from 'firebase/app'
import 'firebase/firestore'
import 'firebase/auth'
import 'firebase/storage'
import 'firebase/functions'
firebase.initializeApp(fbConfig);
firebase.firestore();
firebase.storage().ref();
firebase.functions();
const config =
useFirestoreForProfile:true,
userProfile: 'Klanten',
userFirestoreForProfile: true,
attachAuthIsReady: true,
firebaseStateName: 'firebase'
const initialState = ;
const store = createStore(rootReducer,initialState,
compose(
applyMiddleware(thunk.withExtraArgument( getFirebase, getFirestore )),
reactReduxFirebase(firebase, config),
reduxFirestore(firebase)
)
)
store.firebaseAuthIsReady.then(() =>
const rrfProps =
firebase,
config: fbConfig,
dispatch: store.dispatch,
createFirestoreInstance
ReactDOM.render(<Provider store=store><ReactReduxFirebaseProvider ...rrfProps><App /></ReactReduxFirebaseProvider></Provider>, document.getElementById('root'));
serviceWorker.unregister();
)
这是我的 rootReducer.js
import authReducer from './authReducer'
import shopReducer from './shopReducer'
import combineReducers from 'redux'
import firebaseReducer from 'react-redux-firebase'
import firestoreReducer from 'redux-firestore'
const rootReducer = combineReducers(
firebase: firebaseReducer,
firestore: firestoreReducer,
auth: authReducer,
shop: shopReducer
)
export default rootReducer
【问题讨论】:
【参考方案1】:这就是你的问题所在:
reactReduxFirebase(firebase, config),
reduxFirestore(firebase)
最新版本的配置有一点变化,如果你使用的是react V6,你必须使用它。
*通过键入以下内容确保安装最新版本:
npm i --save react-redux-firebase@next
http://docs.react-redux-firebase.com/history/v3.0.0/docs/v3-migration-guide.html
+ import ReactReduxFirebaseProvider from 'react-redux-firebase'
+ import createFirestoreInstance from 'redux-firestore'
- import reactReduxFirebase from 'react-redux-firebase' // removed
- import reduxFirestore from 'redux-firestore' // removed
const store = createStore(
rootReducer,
initialState,
compose(
- reactReduxFirebase(firebase, rrfConfig), // removed
- reduxFirestore(firebase)
// applyMiddleware(...middleware) // removed
)
)
+ const rrfProps =
+ firebase,
+ config: rrfConfig,
+ dispatch: store.dispatch,
+ createFirestoreInstance // <- needed if using firestore
+
const App = () => (
<Provider store=store>
+ <ReactReduxFirebaseProvider ...rrfProps>
<Todos />
+ </ReactReduxFirebaseProvider>
</Provider>
);
【讨论】:
以上是关于TypeError: Object(...) 不是 index.js 上的函数的主要内容,如果未能解决你的问题,请参考以下文章
TypeError: Object(...) 不是函数(匿名函数)
TypeError: Object(...) 不是 index.js 上的函数
Angular:错误:未捕获(承诺):TypeError:Object(...)不是函数