redux-promised-thunk
Thunk middleware which is support functions and Promises for Redux. Originally based on [redux-thunk](middleware.
npm install --save redux-promised-thunk
What's a thunk?!
A thunk is a function that wraps an expression to delay its evaluation.
// calculation of 1 + 2 is immediate// x === 3let x = 1 + 2; // calculation of 1 + 2 is delayed// foo can be called later to perform the calculation// foo is a thunk!let 1 + 2;
Usage
redux-promised-thunk
middleware allows you to write action creators that return a thunk instead of an action. The thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met. The thunk receives the store methods dispatch
and getState()
as parameters.
An action creator that returns a thunk to perform asynchronous dispatch:
const INCREMENT_COUNTER = 'INCREMENT_COUNTER'; { return type: INCREMENT_COUNTER ;} { return { ; };}
An action creator that returns a thunk to perform conditional dispatch:
{ return { const counter = ; if counter % 2 === 0 return; ; };}
But you can also return async functions:
{ return async { const counter = ; const result = await ; if !result return; } ; };}
To enable redux-promised-thunk use applyMiddleware()
:
;;; const reducer = ; // create a store that has redux-thunk middleware enabledconst actionPromises = ;const createStoreWithMiddleware =
License
MIT