function Subscribe<TFeatures, TData, TSourceValue>(props): ReactNode | Promise<ReactNode>;function Subscribe<TFeatures, TData, TSourceValue>(props): ReactNode | Promise<ReactNode>;Defined in: Subscribe.ts:148
A React component that allows you to subscribe to the table state.
This is useful for opting into state re-renders for specific parts of the table state.
For table.Subscribe from useTable, prefer that API — it uses overloads so JSX contextual typing works. This standalone component uses a union props type.
TFeatures extends TableFeatures
TData extends RowData
TSourceValue
SubscribePropsWithSourceIdentity<TFeatures, TData, TSourceValue>
ReactNode | Promise<ReactNode>
// As a standalone component — full store
<Subscribe table={table} selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</Subscribe>// As a standalone component — full store
<Subscribe table={table} selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</Subscribe>// Entire source (atom or store) — no selector
<Subscribe table={table} source={table.atoms.rowSelection}>
{(rowSelection) => <div>...</div>}
</Subscribe>// Entire source (atom or store) — no selector
<Subscribe table={table} source={table.atoms.rowSelection}>
{(rowSelection) => <div>...</div>}
</Subscribe>// Project source value (e.g. one row’s selection)
<Subscribe
table={table}
source={table.atoms.rowSelection}
selector={(rowSelection) => rowSelection?.[row.id]}
>
{(selected) => <tr data-selected={!!selected}>...</tr>}
</Subscribe>// Project source value (e.g. one row’s selection)
<Subscribe
table={table}
source={table.atoms.rowSelection}
selector={(rowSelection) => rowSelection?.[row.id]}
>
{(selected) => <tr data-selected={!!selected}>...</tr>}
</Subscribe>// As table.Subscribe (table instance method)
<table.Subscribe selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</table.Subscribe>// As table.Subscribe (table instance method)
<table.Subscribe selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</table.Subscribe>function Subscribe<TFeatures, TData, TSourceValue, TSelected>(props): ReactNode | Promise<ReactNode>;function Subscribe<TFeatures, TData, TSourceValue, TSelected>(props): ReactNode | Promise<ReactNode>;Defined in: Subscribe.ts:155
A React component that allows you to subscribe to the table state.
This is useful for opting into state re-renders for specific parts of the table state.
For table.Subscribe from useTable, prefer that API — it uses overloads so JSX contextual typing works. This standalone component uses a union props type.
TFeatures extends TableFeatures
TData extends RowData
TSourceValue
TSelected
SubscribePropsWithSourceWithSelector<TFeatures, TData, TSourceValue, TSelected>
ReactNode | Promise<ReactNode>
// As a standalone component — full store
<Subscribe table={table} selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</Subscribe>// As a standalone component — full store
<Subscribe table={table} selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</Subscribe>// Entire source (atom or store) — no selector
<Subscribe table={table} source={table.atoms.rowSelection}>
{(rowSelection) => <div>...</div>}
</Subscribe>// Entire source (atom or store) — no selector
<Subscribe table={table} source={table.atoms.rowSelection}>
{(rowSelection) => <div>...</div>}
</Subscribe>// Project source value (e.g. one row’s selection)
<Subscribe
table={table}
source={table.atoms.rowSelection}
selector={(rowSelection) => rowSelection?.[row.id]}
>
{(selected) => <tr data-selected={!!selected}>...</tr>}
</Subscribe>// Project source value (e.g. one row’s selection)
<Subscribe
table={table}
source={table.atoms.rowSelection}
selector={(rowSelection) => rowSelection?.[row.id]}
>
{(selected) => <tr data-selected={!!selected}>...</tr>}
</Subscribe>// As table.Subscribe (table instance method)
<table.Subscribe selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</table.Subscribe>// As table.Subscribe (table instance method)
<table.Subscribe selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</table.Subscribe>function Subscribe<TFeatures, TData, TSelected>(props): ReactNode | Promise<ReactNode>;function Subscribe<TFeatures, TData, TSelected>(props): ReactNode | Promise<ReactNode>;Defined in: Subscribe.ts:168
A React component that allows you to subscribe to the table state.
This is useful for opting into state re-renders for specific parts of the table state.
For table.Subscribe from useTable, prefer that API — it uses overloads so JSX contextual typing works. This standalone component uses a union props type.
TFeatures extends TableFeatures
TData extends RowData
TSelected
SubscribePropsWithStore<TFeatures, TData, TSelected>
ReactNode | Promise<ReactNode>
// As a standalone component — full store
<Subscribe table={table} selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</Subscribe>// As a standalone component — full store
<Subscribe table={table} selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</Subscribe>// Entire source (atom or store) — no selector
<Subscribe table={table} source={table.atoms.rowSelection}>
{(rowSelection) => <div>...</div>}
</Subscribe>// Entire source (atom or store) — no selector
<Subscribe table={table} source={table.atoms.rowSelection}>
{(rowSelection) => <div>...</div>}
</Subscribe>// Project source value (e.g. one row’s selection)
<Subscribe
table={table}
source={table.atoms.rowSelection}
selector={(rowSelection) => rowSelection?.[row.id]}
>
{(selected) => <tr data-selected={!!selected}>...</tr>}
</Subscribe>// Project source value (e.g. one row’s selection)
<Subscribe
table={table}
source={table.atoms.rowSelection}
selector={(rowSelection) => rowSelection?.[row.id]}
>
{(selected) => <tr data-selected={!!selected}>...</tr>}
</Subscribe>// As table.Subscribe (table instance method)
<table.Subscribe selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</table.Subscribe>// As table.Subscribe (table instance method)
<table.Subscribe selector={(state) => ({ rowSelection: state.rowSelection })}>
{({ rowSelection }) => (
<div>Selected rows: {Object.keys(rowSelection).length}</div>
)}
</table.Subscribe>