再利用可能なテーブルコンポーネントを型で固める
カラム配列からソートキーの union を導出し、ドメインごとに異なる行の型を合成コンポーネントの各パーツまで届けながら学んだこと — そしてその過程で何度も顔を出した変性の話
- 値から型を導出する書き方と const 型パラメータはセットです。どちらか一方が欠けると、もう一方もエラーなく静かに無意味になります
- const 宣言には型パラメータを付けられないので、ジェネリックな context は関数のクロージャの中で作る必要があります
日々の仕事と学びの振り返りです。何をして、何を学んだかを記録します。
カラム配列からソートキーの union を導出し、ドメインごとに異なる行の型を合成コンポーネントの各パーツまで届けながら学んだこと — そしてその過程で何度も顔を出した変性の話
イミュータブルなツリーエディタで一行直しただけで全体が再描画される問題を、まずテストで固定してから、正規化projectionとid別購読で行・コンテナの再レンダーを減らした過程
webpack splitChunks の罠、ハイブリッドエディタのクロスブロック範囲演算、selectionchange·scroll anchor パターン、Context 購読の分離
fractional ordering, optimistic rebase, IME defer, keyboard undo 委譲, scoped popover, Jest ESM shim など汎用パターンの整理
ブロックドキュメント編集器における host/guest 境界、React 外部ストアのスナップショット、undo の2スタック、HTML5 ドラッグ・選択/コピーを、初めて読む人向けに整理
無限スクロールとリスト仮想化を分離し、SSR 静的 gate で初回HTMLを保証してから virtual list に切り替えるパターン
presigned URL の4段階アップロード、@layer ベースのトークンテーマの単一生成器、fr レイアウトとマウント後ハイドレーションから学んだ共通原則
サーバーレスで何を関数の内側/外側に置くか、そして差し替え可能な検索を provider 契約で隠す方法