1.1.2 ā€¢ Published 6 months ago

@better-hooks/lifecycle v1.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

šŸ§© React Lifecycle Hooks

About

React lifecycle turned into dev friendly and readable hooks

Key Features

šŸ”® Simple usage

šŸš€ Fast and light

šŸ’Ž No external dependencies

šŸŖ„ Increases code readability

šŸŽŠ SSR Support

Installation

npm install --save @better-hooks/lifecycle

or

yarn add @better-hooks/lifecycle

Examples

import React from "react";
import {
  useDidMount,
  useDidUpdate,
  useWillUnmount,
  useIsMounted,
  useWillMount,
  useForceUpdate,
  useDidChange
} from "@better-hooks/lifecycle";

const MyComponent: React.FC = (props) => {
  const [isOpen, setIsOpen] = React.useState(false)

  // returns ref with the mounted boolean state
  const mounted = useIsMounted()

  // Method for the component rerendering
  const forceUpdate = useForceUpdate()

  // Called before mount
  useWillMount(() => {
    // ...
  })

  // Called on component mount
  useDidMount(() => {
    // ...
  })

  // Called when isOpen change
  useDidUpdate(() => {
    // ...
  }, [isOpen])

  // Called when isOpen change but also on mount
  useDidUpdate(() => {
    // ...
  }, [isOpen], true)

  // Called when dependencies change, we can inspect previous dependencies
  useDidChange((prevProps) => {
    if(prevProps[0].value !== props.value) {
      // ...
    }
  }, [props], true)

  // Called last
  useWillUnmount(() => {
    // ...
  })


  return (
    // ...
  )
}