类型错误:无法读取未定义的属性“getState”

时间:2021-05-26 12:00:03

标签: reactjs express react-redux react-router react-hooks

我在运行我的应用程序时收到 TypeError:无法读取 undefined 的属性“getState”,我附上了下面的源代码:

这是 index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router } from "react-router-dom";
import App from './App';
import * as serviceWorker from './serviceWorker';

import {Provider} from 'react-redux';
import {store} from './redux/store';

ReactDOM.render(
  <Provider>
    <React.StrictMode>
      <Router>
        <App />
      </Router>
    </React.StrictMode>
  </Provider>,
  document.getElementById('root')
);

serviceWorker.unregister();

这是 store.js

import {createStore, combineReducers, applyMiddleware} from 'redux';
import thunk from 'redux-thunk';
import {composeWithDevTools} from 'redux-devtools-extension';

// Reducers 
import {cartReducer} from './reducers/cartReducers';
import {getProductDetailsReducer, getProductsReducer }from './reducers/productReducers';



const reducer = combineReducers({
    cart: cartReducer,
    getProducts: getProductsReducer,
    getProductDetails: getProductDetailsReducer,
});

const middleware = [thunk];

const store = createStore(
    reducer,
    composeWithDevTools(applyMiddleware(...middleware))
);

export {store};

这是我得到的输出 Type Error

我需要帮助解决这个问题

1 个答案:

答案 0 :(得分:0)

您需要将配置的 store 作为 prop 传递给 Provider

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