テーブルの型付けを改善した話
【増枠しました!】TechTrain x ゆめみ ここを意識してほしい!リファクタリング勉強会 - connpass #発表資料
自己紹介
https://gyazo.com/ede5513f60ee4763a0021ef4d2c6ccfa
Yugo Yagita
/icons/x.icon https://x.com/ygkn35034
インターネットではygknとも名乗っています
ゆめみの23卒フロントエンドエンジニア、テックリード
アクセシビリティタスクフォース
ゆめみのアクセシビリティ|YUMEMI(株式会社ゆめみ)公式
謝罪
型を追い込んでいたら資料が突貫工事になってしまいました
後日記事に清書します…
TypeScriptの型にどんな印象を持っていますか?
なんか怒ってくるやつから @ts-ignore つけるやつ
すごい人がすごいことやってるやつ
TSKaigi Kansai 2024「TypeScriptの型システムは万能機械の夢を見るか?」
/icons/github.icon codemix/ts-sql
/icons/GitHub.icontype-challenges/type-challenges
実務で役立つ型プログラミング、あります
今回の例:テーブル
デモ
https://typed-table-demo.vercel.app/
型が主役なので、UIとしての完成度は低いです
chadcn/ui、react-hook-form、valitbotなどを使用していますが、他の技術でも似たようにできると思います
https://gyazo.com/530be5866a0f70ee1515b8d83a0ff4cc
これまでは
テーブルの定義があちらこちらに分散していた
修正があるといろんなところを変えていかなきゃいけなかったり
追加、消し忘れがあったり
すぐに string が出てくる
リファクタリングしてみて…
/icons/Github.icon ygkn/typed-table-demo
どうやってやっているの?
ここでは、そのエッセンスであるinfer と再帰について話します!
infer
TypeScript Playground
再帰
TypeScript Playground
どうやってメンテナンスするか
型を分割する
コメントを残す
TypeScript入門『サバイバルTypeScript』〜実務で使うなら最低限ここだけはおさえておきたいこと〜 を読む
今回話したinfer もありますinfer | TypeScript入門『サバイバルTypeScript』
強い型付け、やってみませんか?