简体   繁体   English

不同的问题:React store.getState 不是一个函数

[英]Different Problem: React store.getState is not a function

Here is my code: store.js这是我的代码:store.js

import { createStore, applyMiddleware, compose } from "redux";

import thunk from "redux-thunk";
import rootReducer from "./reducers";

const initialState = {};

const middleware = [thunk];

const store = createStore(
  rootReducer,
  initialState,
  compose(
    applyMiddleware(...middleware),
    (window.__REDUX_DEVTOOLS_EXTENSION__ &&
    window.__REDUX_DEVTOOLS_EXTENSION__()) ||
    compose
    )
);

App.js应用程序.js

import React, { Component } from 'react';
import './sass/main.scss';

import { BrowserRouter as Router, Route } from "react-router-dom";

import Landing from './components/pages/Landing';
import { Provider } from "react-redux";
import store from "../src/store";

import Register from "./components/auth/Register";
import Login from "./components/auth/Login";

class App extends Component {
  render() {
    return (
      <Provider store={store}>
          <Router>
             <div className="App">
                 <Route exact path='/' component={Landing}/>
                 <Route exact path="/login" component={Login}/>
                 <Route exact path="/register" component={Register}/>
             </div>
         </Router>
     </Provider>
    );
  }
}

export default App;

I can't find where the problem is.我找不到问题出在哪里。 I tried to debug it, but can't found what really make it those error.我试图调试它,但找不到真正导致这些错误的原因。 error: Uncaught TypeError: store.getState is not a function.错误:未捕获的类型错误:store.getState 不是函数。

./src/App.js Attempted import error: '../src/store' does not contain a default export (imported as 'store'). ./src/App.js 尝试导入错误:“../src/store”不包含默认导出(导入为“store”)。

The first thing tried is adding a export default createStore but that bring up other error message saying Line 10: 'store' is assigned a value but never used and TypeError: store.getState is not a function尝试的第一件事是添加导出默认 createStore 但会出现其他错误消息,指出 Line 10: 'store' is assignment a value but never used and TypeError: store.getState is not a function

In your App.js you are trying to import store from "../src/store";在您的App.js您试图import store from "../src/store"; . . So system will try to import something from ../src/store.js but you never export any variable in that file.所以系统会尝试从../src/store.js导入一些东西,但你永远不会导出该文件中的任何变量。

You can update store.js to add export statement您可以更新store.js以添加export语句

const store = createStore(
  rootReducer,
  initialState,
  compose(
    applyMiddleware(...middleware),
    (window.__REDUX_DEVTOOLS_EXTENSION__ &&
    window.__REDUX_DEVTOOLS_EXTENSION__()) ||
    compose
    )
);

export default store;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM