use-memorized-recoil-value
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

useMemorizedRecoilValue

A react hook for subscribing to the previous value of the asynchronous selector in Recoil while loading.

npm version CI

🇯🇵 日本語

About

Recoil allows you to return a Promise from a selector get callback. However, we need to wrap components with <React.Suspense /> to take care of pending data, also it's impossible to read the previous value while waiting for the promise to resolve. useMemorizedRecoilValue returns the previous value while loading data and it's not necessary to wrap with <React.Suspense>.

Installation

npm i --save use-memorized-recoil-value
# or
yarn add use-memorized-recoil-value

Usage

import useMemorizedRecoilValue from 'use-memorized-recoil-value';

const currentUserNameQuery = selector({
  key: 'CurrentUserName',
  get: async ({ get }) => {
    const response = await myDBQuery({
      userID: get(currentUserIDState),
    });
    return response.name;
  },
});

const Sample = () => {
  const { value: userName } = useMemorizedRecoilValue(currentUserNameQuery);

  return <div>{username}</div>;
};

Reference

type useMemorizedRecoilValue = (
  recoilValue: RecoilValue<T>, defaultValue?: T
) => { value: T | undefined; loadable: Loadable<T> }

Package Sidebar

Install

npm i use-memorized-recoil-value

Weekly Downloads

2

Version

0.1.1

License

MIT

Unpacked Size

8.17 kB

Total Files

9

Last publish

Collaborators

  • kyushun