applyMiddleware(logger)// acá configuramos el middleware
9
);
Copied!
Veamos otro ejemplo. Imagina que queremos retrasar todos los llamados al dispatch por 5 segundos. Podemos crear un middleware de la siguiente forma:
1
constdelayer=store=>next=>action=>{
2
returnsetTimeout(()=>{
3
next(action)
4
},5000);
5
};
6
7
const store =createStore(
8
reducer,
9
{tasks:[]},
10
applyMiddleware(delayer)
11
);
Copied!
Y ahora, cada vez que llamemos dispatch, el cambio de estado se va a realizar 5 segundos después.
También es posible instalar varios middlewares separándolos por comas:
1
const store =createStore(
2
reducer,
3
{tasks:[]},
4
applyMiddleware(logger, delayer)
5
);
Copied!
En la práctica es raro que escribas un middleware para una aplicación. Sin embargo, existen librerías como redux-thunk o redux-saga que hacen uso de los middlewares.