JSPM

@vtaits/use-lazy-ref

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 94316
  • Score
    100M100P100Q240731F
  • License MIT

Package Exports

  • @vtaits/use-lazy-ref

Readme

NPM

@vtaits/use-lazy-ref

React.useRef with initialization callback

Example

Good

import { useLazyRef } from '@vtaits/use-lazy-ref';

const ref = useLazyRef(() => getRefInitialValue());
  1. No extra boilerplate.
  2. Inferred type of ref.
  3. Typescript knows that a value of ref cannot be undefined (if it's not a possible result of getRefInitialValue).

Bad

import { useRef } from 'react';

const ref = useRef<ValueType>();

if (!ref.current) {
  ref.current = getRefInitialValue();
}
  1. Extra boilerplate.
  2. Ref type must be set.
  3. Typescript thinks value of ref can be undefined.