why we apply middleware in redux code example

Example 1: redux middleware

A Redux middleware is a function returning a function, which takes next as a
 parameter. Then the inner function returns another function which takes action
as a parameter and finally returns next(action). Here's how it looks like:

function Middleware() {
  return function(next){
    return function(action){
      // do your stuff
      return next(action);
    }
  }
}

Example 2: react redux middleware

const loggingMiddleware = function(store) {
  // Called when calling applyMiddleware so
  // our middleware can have access to the store

  return function(next) {
    // next is the following action to be run
    // after this middleware

    return function(action) {
      // finally, this is where our logic lives for
      // our middleware.
    }
  }
}