user8253642
user8253642

Reputation:

Redux createStore is undefined

I'm trying to learn Redux so I created a test app, but it seems like I can't apply middleware and create my store, as I get the error 'createStoreWithMiddleware' is not defined.

My index.js:

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router } from 'react-router-dom';
import { Provider } from 'react-redux';
import Header from './components/header';
import Footer from './components/footer';
import Content from './components/content';
import { createStore, applyMiddleware } from 'redux';
import ReduxPromise from 'redux-promise';
import reducers from './reducers';
import './index.css';
import './App.css';


class App extends Component {
  render() {
    return (
    <Router>
      <div className="App">
        <Header />
        <Content />
        <Footer />
      </div>
    </Router>
);
}}

const createStoreWithMiddleWare = applyMiddleware(ReduxPromise)(createStore);
ReactDOM.render(
  <Provider store={createStoreWithMiddleware(reducers)}>
    <App />
  </Provider>, 
  document.getElementById('root'));

I've tried setting Provider in the class but that doesn't seem to be working either. Probably a simple issue, thankful for any help.

Upvotes: 4

Views: 6242

Answers (1)

hairmot
hairmot

Reputation: 2965

You need to create your store, and then add the middleware:

const createStoreWithMiddleWare = createStore(reducers, applyMiddleware(ReduxPromise));

Your provider should then look like:

 <Provider store={createStoreWithMiddleware}>

Upvotes: 4

Related Questions