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

use-react-suspense

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

use-react-suspense

React hooks that can make any data suspensible.

latest
Source
npmnpm
Version
0.5.0
Version published
Maintainers
1
Created
Source

use-react-suspense

NPM version NPM monthly download

React hooks that can make any data suspensible.
Forked from react-promise-suspense

Installation

To install the stable version:

$ yarn add use-react-suspense

Usage

Example

https://codesandbox.io/s/use-react-suspense-example-mcxou

import {useSuspense} from 'use-react-suspense';

const PostListing = () => {
  const [data] = useSuspense(
    async (url, method) => {
      const response = await fetch(url, {method});

      return response.json();
    },
    ['https://api.domain.com/posts', 'GET'] as const
  );

  return <pre>{JSON.stringify(data, null, 2)}</pre>;
};

export default function App() {
  return (
    <Suspense fallback='Loading...'>
      <PostListing />
    </Suspense>
  );
}

API

const [data] = useSuspense(Function, Input[], Options): SuspenseResult

Function

Type: Function<Promise>
Required: true
The function takes inputs arguments and returns a thenable (async function or a promise)

const [data] = useSuspense(
  async (arg1, arg2) => {
    console.log(arg1, arg2);
  },
  [input1, input2]
);

Input[]

Type: Array<any>
Default: []
An array of dependencies, using deep comparison to cache data. And as arguments on to Function

Options

Type: Object
Required: false

Options.cacheTime

Type: Number
Default: Infinity
The time in milliseconds after data will be clean, it defaults to Infinity (keep-alive forever)

Options.cacheError

Type: Boolean
Default: false
If set to true, the error will be cache

SuspenseResult

An array of your data and utility

const [data, {clear}] = useSuspense(...)

The 1st

Type: any

The data has resolved from Function

The 2nd

Type: Object

And object list of utility:

  • clear: () => void
    Clear cache manually. This is helpful when to want clear cache on unmount the component.

License

MIT

Keywords

suspense

FAQs

Package last updated on 15 Jul 2022

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