【问题标题】:TypeError: Object(...) is not a function. How is the solution for getting the error?TypeError: Object(...) 不是函数。获取错误的解决方案如何?
【发布时间】:2020-02-16 21:07:07
【问题描述】:

我想用 firebase 运行我的 react 应用程序。我在 Visual Studio 代码程序中没有收到错误消息。但在我的网络浏览器中,applymiddaware(thunk.withextraargument ({getFirebase,getFirestore})) : TypeError: Object (...) is given a function error.我想知道解决方案是什么?

index.js

/* eslint-disable no-unused-vars */
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';

import {createStore, applyMiddleware,compose} from 'redux';
import rootReducer from './store/rootReducer';
import {Provider} from 'react-redux'
import thunk from 'redux-thunk'
import {getFirestore,reduxFirestore } from 'redux-firestore'
import {getFirebase,reactReduxFirebase} from 'react-redux-firebase'
import fbConfig from './config/fbConfig'

const store=createStore(rootReducer, 
    compose(
    applyMiddleware(thunk.withExtraArgument({getFirebase,getFirestore})),
    reduxFirestore(),
    reactReduxFirebase()
    )
    );

ReactDOM.render(<Provider store ={store}></Provider>><App />, document.getElementById('root'));

package.json

{
  "name": "marioplan",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.2",
    "@testing-library/user-event": "^7.1.2",
    "firebase": "^7.8.2",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-redux": "^7.1.3",
    "react-redux-firebase": "^3.1.1",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.4.0",
    "redux": "^4.0.5",
    "redux-firestore": "^0.12.0",
    "redux-thunk": "^2.3.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "eslint-plugin-react": "^7.18.3"
  }
}

【问题讨论】:

    标签: reactjs firebase redux google-cloud-firestore


    【解决方案1】:

    在您的 package.json 文件中,我看到您安装了 react-redux-firebase 的 3.1.1 版本,但您正在使用旧版本的 synthax(virsion 2)创建商店。您必须将 react-redux-firebase 降级到版本 2,或者按照 v3 迁移指南 here 创建您的商店。过去在 react-redux-firebase 2.2.4 中使用过类似的合成器。

    【讨论】:

    • TypeError: Cannot read property 'SDK_VERSION' of undefined. 我照你说的做了,但他犯了一个错误。
    • 试试这两个 virsions 像这样: npm i --save react-redux@5.1.1 react-redux-firebase@2.2.4 ,如果还有其他问题,检查你正在使用的 virsions是兼容的。
    猜你喜欢
    • 2019-11-02
    • 2018-03-11
    • 2022-01-23
    • 2013-04-03
    • 2023-01-24
    • 2021-06-21
    • 1970-01-01
    • 2022-10-15
    • 2017-10-14
    相关资源
    最近更新 更多