@tanstack/react-db
Version:
React integration for @tanstack/db
28 lines (27 loc) • 899 B
text/typescript
import { EffectConfig } from '@tanstack/db';
/**
* React hook for creating a reactive effect that fires handlers when rows
* enter, exit, or update within a query result.
*
* The effect is created on mount and disposed on unmount. If `deps` change,
* the previous effect is disposed and a new one is created.
*
* @example
* ```tsx
* function ChatComponent() {
* useLiveQueryEffect(
* {
* query: (q) => q.from({ msg: messages }).where(({ msg }) => eq(msg.role, 'user')),
* skipInitial: true,
* onEnter: async (event) => {
* await generateResponse(event.value)
* },
* },
* []
* )
*
* return <div>...</div>
* }
* ```
*/
export declare function useLiveQueryEffect<TRow extends object = Record<string, unknown>, TKey extends string | number = string | number>(config: EffectConfig<TRow, TKey>, deps?: React.DependencyList): void;