本文へ移動
cccskills
無料GitHub で公開

table-state

Read and control Table v9 state in ember. Use for tracked reads, subscriptions, controlled slices, and framework-specific reactive boundaries.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md3.4 KB
  • references/reactivity.md3.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Load intent load @tanstack/table-core#table-state first for shared ownership, initialization, updater, and reset rules.

Glimmer tracks Table APIs, atom reads, and store-property reads inside template-consumed getters. A value cached outside tracked consumption is only a snapshot. There is no table.Subscribe or selector argument to useTable; table.store.subscribe is intentionally a no-op and cannot drive rendering.

Controlled tracked setup

import Component from '@glimmer/component'
import { tracked } from '@glimmer/tracking'
import { on } from '@ember/modifier'
import {
  rowPaginationFeature,
  tableFeatures,
  useTable,
  type PaginationState,
} from '@tanstack/ember-table'

const features = tableFeatures({ rowPaginationFeature })
const columns = [{ accessorKey: 'name' }]
const data = [{ name: 'Ada' }]

export default class PageStatus extends Component {
  @tracked pagination: PaginationState = { pageIndex: 0, pageSize: 10 }
  table = useTable(this, () => ({
    features,
    columns,
    data,
    state: { pagination: this.pagination },
    onPaginationChange: (next) => {
      this.pagination =
        typeof next === 'function' ? next(this.pagination) : next
    },
  }))

  get pageNumber() {
    return this.table.atoms.pagination.get().pageIndex + 1
  }

  nextPage = () => this.table.nextPage()

  <template>
    <button type='button' {{on 'click' this.nextPage}}>Page
      {{this.pageNumber}}</button>
  </template>
}

Reactive boundaries

  • Read tracked values inside the options thunk and assign callback results back to their tracked owner. Mutating this.pagination.pageIndex++ does not notify the thunk.
  • features and atoms are construction-time inputs. Updating ordinary live options does not replace the feature set or atom owners; create them once before useTable.
  • Pass the component as the owner for lifecycle cleanup when external atoms are used. The standalone one-argument thunk form remains supported.
  • Use the adapter's createAtom for external Glimmer-reactive ownership. Read it in a tracked getter and use feature APIs or the external atom to write.
  • Keep features, columns, and data stable. Call receiver-dependent methods through getters or helpers rather than passing extracted methods to templates.

Read for the task

For advanced reactive boundaries, shared atoms, or detailed subscription examples, read reactivity. For construction or rendering setup, read getting-started.

API discovery

Inspect node_modules/@tanstack/ember-table/declarations/index.d.ts, use-table.d.ts, signal.d.ts, and FlexRender.d.ts. Core feature APIs are in node_modules/@tanstack/table-core/dist/features/.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

core

無料

Use TanStack Table v9 core architecture, stable data and columns, and inferred types. Route setup, missing APIs, row models, state, features, and framework-specific work.

日本語の概要は準備中です。原文の説明を表示しています。

TanStack/table2.8万2026年10月10日 更新

Implement a Table v9 plugin when built-ins and typed meta are insufficient. Covers FeatureMaps, runtime lifecycle hooks, prototypes, and a complete checked example.

日本語の概要は準備中です。原文の説明を表示しています。

TanStack/table2.8万2026年10月10日 更新

devtools

無料

Connect Solid Table v9 instances to Devtools with tableDevtoolsPlugin and useTanStackTableDevtools in the proper reactive owner. Load for missing targets, required options.key, enabled state, cleanup, or development versus explicit production exports.

日本語の概要は準備中です。原文の説明を表示しています。

TanStack/table2.8万2026年10月10日 更新

devtools

無料

Connect native Preact Table v9 instances to Devtools with tableDevtoolsPlugin and useTanStackTableDevtools. Load for React-package mixups, missing targets, required options.key, enabled state, cleanup, or development gating.

日本語の概要は準備中です。原文の説明を表示しています。

TanStack/table2.8万2026年10月10日 更新

devtools

無料

Connect Vue Table v9 refs or instances to Devtools with tableDevtoolsPlugin and useTanStackTableDevtools. Load for missing targets, reactive table replacement, required options.key, enabled state, cleanup, or development gating.

日本語の概要は準備中です。原文の説明を表示しています。

TanStack/table2.8万2026年10月10日 更新

devtools

無料

Register Angular Table v9 instances with injectTanStackTableDevtools inside injection context. Load for reactive table registration, required options.key, enabled or undefined tables, cleanup, Angular isDevMode gating, or explicit production exports.

日本語の概要は準備中です。原文の説明を表示しています。

TanStack/table2.8万2026年10月10日 更新

TanStack のスキルをすべて見る

このスキルの問題を報告する