npm i --save redux react-redux redux-thunk // You will need these redux packages
Redux Thunk is middleware that allows you to return functions,
rather than just actions, within Redux.
This allows for delayed actions, including working with promises.
---
One of the main use cases for this middleware is
for handling actions that might not be synchronous,
for example, using axios to send a GET request.
Redux Thunk allows us to dispatch those actions asynchronously
and resolve each promise that gets returned.
import { createStore, applyMiddleware, compose } from "redux";
import rootReducer from "../reducers/index";
import { forbiddenWordsMiddleware } from "../middleware";
import thunk from "redux-thunk";
const storeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(
rootReducer,
storeEnhancers(applyMiddleware(forbiddenWordsMiddleware, thunk))
);
export default store;
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers/index';
// Note: this API requires redux@>=3.1.0
const store = createStore(rootReducer, applyMiddleware(thunk));