Skip to content

postgrestx-monorepo v0.0.1


postgrestx-monorepo / tanstack/src / useItem

Function: useItem()

useItem<Table>(tableName, pk, args?, options?): UseQueryResult<NoInfer<null | Table>, unknown>

Defined in: packages/tanstack/src/index.ts:271

Fetch a single row by primary key.

Internally performs a SELECT with limit: 1 and returns null if no row found. The primary key column defaults to id but can be overridden with pkColumn. Additional filters can be merged (e.g. tenant scoping) – they are appended after the pk filter.

Type Parameters

Table

Table = unknown

Row shape.

Parameters

tableName

string

pk

PrimaryKey

args?

object & Pick<QueryOptions, "filters">

options?

UseQueryOptions<null | Table, unknown, null | Table, readonly unknown[]>

Returns

UseQueryResult<NoInfer<null | Table>, unknown>

Examples

ts
const user = useItem<User>('users', 42)
ts
useItem<User>('users', '1b2c', { pkColumn: 'uuid', select: 'uuid,name' })
ts
useItem<User>('users', 42, { filters: [{ column: 'tenant_id', op: 'eq', value: currentTenant }] })
ts
interface User { id: number; name: string }
const q = useItem<User>('users', 1)
q.data?.name // typed as string | undefined