![](/img/trans.png)
[英]TypeError: ref.collection is not a function using React-Redux-Firebase/React-Testing-Library
[英]“TypeError: Object(…) is not a function” react-redux-firebase
我正在尝试在 React 中创建一个项目,我正在使用 Firebase。 在我的 react-redux-firebase 项目中,一行代码出错,但我无法解决。 我该如何解决这个“TypeError: Object(...) is not a function”
我已经搜索过这个问题,但无法解决问题。
我正在关注反应版本为 16.4.1 的教程。 我不确定这是不是问题
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 { 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 })),
reduxFirestore(fbConfig),
reactReduxFirebase(fbConfig)
)
);
如果我注释掉 reatReduxFirebase() 那么它工作正常但我需要这个工作
你可以在这里找到所有代码: https://github.com/martuza-shimul/React-Blog-app
TypeError: Object(...) is not a function
Module../src/index.js
i:/Learning new things/react/pma/src/index.js:17
14 | const store = createStore(
15 | rootReducer,
16 | compose(
> 17 | applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore })),
18 | reduxFirestore(fbConfig),
19 | reactReduxFirebase(fbConfig)
20 |
我不知道如何解决这个问题。 一点帮助/提示真的很感激。
请使用此 npm 封装
npm 封装兼容性问题
npm i --save react-redux@5.1.1 react-redux-firebase@2.2.4
这是一个 react-redux-firebase v2.xx 编码模式,你可能已经安装了 v3.xx。
npm ls react-redux-firebase
reactReduxFirebase 存储增强器在 v3 及更高版本中被删除。 您现在可以使用上下文提供程序创建 firebase 实例。 现在可以这样做:
const store = createStore(
rootReducer,
compose(
applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore })),
reduxFirestore(fbConfig)
)
);
const rrfProps = {
firebase,
config: fbConfig,
dispatch: store.dispatch
}
const App = () => (
<Provider store={store}>
<ReactReduxFirebaseProvider {...rrfProps}>
<Todo /> // your Component
</ReactReduxFirebaseProvider>
</Provider>
);
到目前为止,“reduxFirestore”工作正常,所以我想保持原样,但我认为未来几天也会发生同样的情况。 因此,省略 compose 和 reduxFirestore(fbConfig) 而是使用:
import { createFirestoreInstance } from 'redux-firestore'
并将 createFirestoreInstance 添加到 rrfProps 如下:
const rrfProps = {
firebase,
config: rrfConfig,
dispatch: store.dispatch,
createFirestoreInstance
}
选项 01- 为
react-redux & react-redux-firebase
调整 npm package 版本
npm install react-redux@5.1.1 react-redux-firebase@2.2.4
选项 02- 参考 v3 ( http://react-redux-firebase.com/docs/v3-migration-guide.html )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.