Function useFilter

  • Type Parameters

    • T extends Record<string, any>

    Parameters

    • items: T[]
    • config: IFuseOptions<T> & {
          keys: (keyof T)[];
      }

    Returns readonly [T[], {
        filter: string;
        setFilter: Dispatch<SetStateAction<string>>;
    }]

    Hook to filter items using Fuse.js

    const testItems = useMemo(() => [
    { firstName: 'John', lastName: 'Doe', age: 20 },
    { firstName: 'Jane', lastName: 'Smith', age: 21 },
    { firstName: 'Alice', lastName: 'Johnson', age: 22 },
    { firstName: 'Bob', lastName: 'Brown', age: 23 },
    { firstName: 'Charlie', lastName: 'Davis', age: 24 },
    ], [])

    const [items, { setFilter }] = useFilter(testItems, { keys: ['firstName', 'lastName'] });