redux-hook-middleware

0.1.22 • Public • Published

redux-hook-middleware

Build Status Build status codecov runkit

npm (scoped) downloads Dependency Status devDependency Status

License: MIT

A Redux middleware to provide easy hooks on pre/post dispatch.

install

$ npm i redux-hook-middleware -S

usage

import { createStore, applyMiddleware } from 'redux'
import hookMiddleware, { registerPrehook } from 'redux-hook-middleware'
 
// redux setup
const initialState = { /* initial state */ }
const reducer = (state = initialState, action) => { /* reducer function logics */ return state }
const middlewares = [hookMiddleware]
const store = createStore(reducer, initialState, applyMiddleware(...middlewares))
 
// middleware logic
registerPrehook('HOOKING_ACTION_TYPE', (store, action) => {
  console.log('prehooked!')
  // do anything inside callback
  // you can also dispatch other actions
  store.dispatch({ type: 'SOME_ACTION_TYPE' })
})
 
// how does it works
store.dispatch({ type: 'HOOKING_ACTION_TYPE' }) // 'prehooked!'

APIs

registerPrehook(type<string>, hook<function>)<symbol>

Register a hook for former middleware chain and return uniq id for the hook.

registerPosthook(type<string>, hook<function>)<symbol>

Register a hook for later middleware chain and return uniq id for the hook.

registerPrehooks(hookObject<object>)<object>

Register hooks for former middleware chain and return uniq id for the hook. Pass an action type as key and a callback or an array of callbacks as value.

registerPosthooks(hookObject<object>)<onject>

Register hooks for later middleware chain and return uniq id for the hook. Pass an action type as key and a callback or an array of callbacks as value.

unregisterHook(id<symbol>)<void>

Unregister the hook with hook id.

clearHooks()<void>

Unregister all the hooks registered.

development

$ git clone https://github.com/kamataryo/redux-hook-middleware.git
cd redux-hook-middleware
$ npm test

Package Sidebar

Install

npm i redux-hook-middleware

Weekly Downloads

288

Version

0.1.22

License

MIT

Last publish

Collaborators

  • willmcclellan
  • kamataryo