Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@vtaits/use-lazy-ref

vtaits343.1kMIT0.1.4TypeScript support: included

NPM

react, useref, callback, lazy, 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.