DB Docs
API Reference
- Core API Reference
- Collection
- createCollection
- liveQueryCollectionOptions
- createLiveQueryCollection
- createOptimisticAction
- createTransaction
- Electric DB Collection
- electricCollectionOptions
- Query DB Collection
- queryCollectionOptions
- RxDB DB Collection
- rxdbCollectionOptions
- PowerSync Collection
- powerSyncCollectionOptions
- createIndexedDB
- indexedDBCollectionOptions
- React Hooks
- useLiveQuery
AI/LLM: This documentation page is available in plain markdown format at/db/latest/docs/reference/functions/createEffect.md
createEffect
ts
function createEffect<TRow, TKey>(config): Effect;Defined in: packages/db/src/query/effect.ts:202
Creates a reactive effect that fires handlers when rows enter, exit, or update within a query result. Effects process deltas only — they do not maintain or require the full materialised query result.
Type Parameters#
TRow#
TRow extends object = Record<string, unknown>
TKey#
TKey extends string | number = string | number
Parameters#
config#
EffectConfig<TRow, TKey>
Returns#
Example#
ts
const effect = createEffect({
query: (q) => q.from({ msg: messagesCollection })
.where(({ msg }) => eq(msg.role, 'user')),
onEnter: async (event) => {
await generateResponse(event.value)
},
})
// Later: stop the effect
await effect.dispose()