use-reducer-logger
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

use-reducer-logger

A very very basic logger for the useReducer function in the React Hooks API. Inspired by redux-logger.

screenshot of logger

Usage

  1. Install with npm install use-reducer-logger --save-dev or yarn add use-reducer-logger -D
  2. Import logger with
import logger from 'use-reducer-logger';
  1. Wrap your reducer with logger before passing it to useReducer
const [state, dispatch] = useReducer(logger(reducer), initialState);

See Example

In a Dev Environment

You should only use this in a dev environment. So you could do something like this to apply the logger based on the env.

function reducer(state, action) {
  switch (action.type) {
    case 'increment':
      return {count: state.count + 1};
    case 'decrement':
      return {count: state.count - 1};
    default:
      throw new Error();
  }
}
 
const [state, dispatch] = (
  process.env.NODE_ENV === 'development' ? logger(reducer) : reducer,
  initialState
);

License

MIT see LICENSE.

Contributing

Contributions are welcome.

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i use-reducer-logger

      Weekly Downloads

      1,743

      Version

      1.0.2

      License

      MIT

      Unpacked Size

      26.9 kB

      Total Files

      6

      Last publish

      Collaborators

      • jefflombard