New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@commander-lol/react-hooks

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@commander-lol/react-hooks

A collection of commonly used utility hooks for React

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

react-hooks

A collection of commonly used utility hooks for React

NPM JavaScript Style Guide

Install

npm install --save react-hooks

Usage

useAbortableEffect

An enhanced version of React.useEffect that can run an asynchronous effect with an AbortController for cancellation. The controller can be aborted manually, and will be aborted when the dependencies of the effect change or the component unmounts.

import React from 'react'
import { useDisclosure } from '@commander-lol/react-hooks'

export default function AsyncWatcher() {
  const [value, setValue] = React.useState(null)
  const [data, setData] = React.useState(null)

  useAbortableEffect(async ctrl => {
    if (value != null) {
      const result = await fetch(`/my/api/${ value }`, {
        signal: ctrl.signal,
      }) 
      // Alternatively, check if the controller has aborted for non-fetch effects
      if (result.ok) {
        setData(await result.json())
      }
    }
  }, [value])

  return (
    <div>
      <ValueSelector value={value} onChange={setValue} />
      <DataDisplayer value={data} />
    </div>
  )
}

useDisclosure

Encapsulated common 'toggle view' logic used by dialogs, sidebars, etc.

import React from 'react'
import { useDisclosure } from '@commander-lol/react-hooks'

import { Modal } from 'another-library'

export default function SimpleModal({ summary, description }) {
  const state = useDisclosure()
  return (
    <>
      <button onClick={state.onOpen}>{ summary }</button>
      <Modal isOpen={state.isOpen} onClose={state.onClose}>
        <p>{ description }</p>
      </Modal>
    </>
  )
}

License

GPL-3.0+ © Commander-lol

FAQs

Package last updated on 27 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts