首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复未捕获的对象:TypeError(...)将Redux连接到项目时不是函数错误

如何修复未捕获的对象:TypeError(...)将Redux连接到项目时不是函数错误
EN

Stack Overflow用户
提问于 2019-09-13 07:04:41
回答 1查看 645关注 0票数 2

我第一次看到这个问题,任何谷歌都不能帮助我(我不知道它是什么,很长一段时间我都在做同样的事情,一切都很好,什么都不能理解

我的代码如下所示:

代码语言:javascript
复制
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import "./style/main.scss";
import { Provider } from "react-redux";
import reducers from "./reducers/index";
import { createStore } from "redux/es/redux";

const store = createStore(reducers);

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

我的错误看起来是:

代码语言:javascript
复制
index.js:1375 The above error occurred in the <Provider> component:
    in Provider (at index.js:12)

Consider adding an error boundary to your tree to customize error handling behavior.

还有一个错误:

代码语言:javascript
复制
Uncaught TypeError: Object(...) is not a function
    at Provider (Provider.js:10)
    at mountIndeterminateComponent (react-dom.development.js:13922)
    at beginWork (react-dom.development.js:14376)
....

我的包-json:

代码语言:javascript
复制
{
  "name": "interview-question",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "react-scripts": "3.0.1"
  },
  "dependencies": {
    "date-fns": "^1.28.0",
    "faker": "^4.1.0",
    "node-sass": "^4.12.0",
    "react": "^16.4.1",
    "react-dom": "^16.4.1",
    "react-loader-spinner": "^3.1.4",
    "react-spinners": "^0.6.1",
    "redux": "^4.0.1",
    "react-redux": "^7.1.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

REDUCER index.js:

代码语言:javascript
复制
import { combineReducers } from "redux";
import data from "./data";

const reducers = combineReducers({
  data
});

export default reducers;

data.js:

代码语言:javascript
复制
const INITIAL_STATE = {
  time: undefined,
  products: undefined
};

export default (state = INITIAL_STATE, { type, payload }) => {
  switch (type) {
    case "PRODUCTS_WAS_RECIEVED": {
      return {
        ...state,
        products: payload
      };
    }
    case "TIME_WAS_RECIEVED": {
      return {
        ...state,
        time: payload
      };
    }
    default:
      return state;
  }
};

也许有人知道如何修复它?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2019-10-01 21:01:00

请尝试使用更高版本的reactreact-dom。最好还是在package.json中使用以下代码

代码语言:javascript
复制
"react": "next",
"react-dom": "next"

然后使用yarn upgradenpm update更新依赖项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57915460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档