TypeError: Object (...) не является функцией. Как найти решение для получения ошибки? - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу запустить свое приложение реагирования с помощью firebase. Я не получаю сообщение об ошибке в программе Visual Studio Code. но в моем веб-браузере applymiddaware (thunk.withextraargument ({getFirebase, getFirestore})): TypeError: Object (...) выдает ошибку функции. Интересно, каково решение?

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'));

упаковка. 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"
  }
}

1 Ответ

0 голосов
/ 17 февраля 2020

В вашем пакете. json файл, я вижу, что вы установили версию 3.1.1 пакета response-redux-firebase, но вы создаете хранилище, используя synthax для более старой версии (virsion 2). вам нужно либо понизить версию response-redux-firebase до версии 2, либо создать свой магазин, следуя руководству по миграции v3 здесь . в прошлом использовал подобный синтакс для реакции-редукса-огненной базы 2.2.4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...