[![Cover](https://fqjltiegiezfetthbags.supabase.co/storage/v1/object/public/common.images/npm/primereact-npm.jpg)](https://primereact.dev)

# @primereact/hooks

General-purpose React hooks: filtering, input masking, hotkeys, local storage, media queries, lifecycle effects and more. These are the utilities PrimeReact is built on, published standalone for use in any React project.

No provider, no theme, no CSS.

```bash
npm install @primereact/hooks
```

## Usage

Each hook has its own kebab-case subpath. The root entry re-exports all of them.

```tsx
import { useFilter } from '@primereact/hooks/use-filter';

interface Customer {
    id: number;
    name: string;
    country: string;
}

export function CustomerList({ customers, query }: { customers: Customer[]; query: string }) {
    const { filteredData } = useFilter<Customer>({ data: customers, field: 'name', value: query });

    return (
        <ul>
            {filteredData.map((customer) => (
                <li key={customer.id}>{customer.name}</li>
            ))}
        </ul>
    );
}
```

Anything that touches the DOM is marked `'use client'` internally, so server components can import these hooks without extra setup.

Component hooks such as `useSelect` or `useDataTable` are not part of this package; they live in [`@primereact/headless`](https://www.npmjs.com/package/@primereact/headless).

## Documentation

- [Introduction](https://primereact.dev/docs/hooks/gettingstarted/introduction)
- [Hooks](https://primereact.dev/docs/hooks/use-filter)
- [MCP server](https://www.npmjs.com/package/@primereact/mcp)

## License

Licensed under the [PrimeUI License](https://primeui.dev/licenses) - Copyright (c) [PrimeTek Informatics](https://www.primetek.com.tr)
