1.0.7 • Published 10 months ago

use-sequential-list v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

use-sequential-list is a React hook that allows you to sequentially render a list of items.

Install

npm install use-sequential-list

Usage

import { useSequentialList } from 'use-sequential-list';
import { useEffect } from 'react';

const origin = [
    { name: 'Item 1' },
    { name: 'Item 2' },
    { name: 'Item 3' },
    { name: 'Item 4' },
];


function App() {
    const { items } = useSequentialList(origin);

    return (
        <div>
            {items.map((item) => (
                <Item key={item.name} {...item} />
            ))}
        </div>
    );
}

interface ItemProps {
    name: string;
    done: () => void;
    isLoaded: boolean;
}

function Item({ name, done, isLoaded }: ItemProps) {
    useEffect(() => {
        const timer = setTimeout(() => {
            done();
        }, 1000);

        return () => {
            clearTimeout(timer);
        };
    //NOTE: that we don't need to add `done` to the dependency array
    }, []);

    return (
        <div>
            {name} {isLoaded ? '✔️' : '❌'}
        </div>
    );
}

export default App;

Result

Result

Parameters

NameTypeDescription
itemsT[]The list of items to render sequentially.

Issues

If you find any issues, please report them.

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.0

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago