Skip to content

Instantly share code, notes, and snippets.

@Wonder2210
Last active December 3, 2019 03:56
Show Gist options
  • Save Wonder2210/9f5662b1fb0dee8b8f746e3c1e5ccb55 to your computer and use it in GitHub Desktop.
Save Wonder2210/9f5662b1fb0dee8b8f746e3c1e5ccb55 to your computer and use it in GitHub Desktop.
Basic initialization store for React + Redux projects using connected-react-router and redux thunk
import
React,{Component
}from 'react';
import {Route,Switch} from 'react-router';
import {Link} from 'react-router-dom';
import {ConnectedRouter} from 'connected-react-router';
import {history} from './store';
import {Provider} from 'react-redux';
import {configureStore} from './store';
const store = configureStore();
const App = ({}) => (
(
<Provider store={store}>
<ConnectedRouter history={history}>
<div >
<Route exact path="/" component={()=>(<h1>Here we are</h1>)}/>
</div>
</ConnectedRouter>
</Provider>
);
);
export default App;
import {combineReducers} from 'redux';
import {connectRouter} from 'connected-react-router';
import getUsers from './user';//export your reducer
const rootReducer=history=>combineReducers({router:connectRouter(history),getUsers})
export default rootReducer;
import {createStore,applyMiddleware,compose} from 'redux';
import { createBrowserHistory} from 'history';
import { routerMiddleware} from 'connected-react-router';
import thunk from 'redux-thunk';
import rootReducer from './reducers';
export const history = createBrowserHistory();
export const configureStore=(preloadedState)=>{
const store= createStore(rootReducer(history),compose(
applyMiddleware(thunk,routerMiddleware(history))
)
);
return store;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment