Reputation:
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
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