JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q27717F
  • License ISC

React hooks for better managing lifecycles for function component.

Package Exports

  • react-life-hooks

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-life-hooks) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

react-life-hooks

React hooks for better managing lifecycles for function component.

This lib want keep as helpers, but not targeting a fully Custom Hooks.

Build Status NPM Version

Install

You can install from NPM, or use files in lib.

npm install --save react-life-hooks

Usage

This lib require React 16.8.0 or later, since it's based on React Hooks API.

Each helper can be imported individually:

import {
  onInit,
  onDidMount,
  onDidUpdate,
  onWillUnmount,
  onChange,
  useLifeState,
} from 'react-life-hooks'

function Hello(props){
  onInit(()=>{
    console.log('this is like constructor');
  })
  onDidMount(()=>{
    console.log('this is like componentDidMount');
  });
  onDidUpdate(()=>{
    console.log('this is like componentDidUpdate');
  });
  onWillUnmount(()=>{
    console.log('this is like componentWillUnmount');
  });
  onChange(props, prevProps=>{
    console.log('this is like componentWillReceiveProps')
  })

  // state, setState is life time, same reference in each render
  const [state, setState] = useLifeState({x:1})
  // below have no bugs any more
  const onClick = () => {
    setState({x: state.x+1})
  }

  return <div>
    <span>{state.x}</span>
    <button onClick={onClick}></button>
  </div>
};

API

See API Document