以下の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/09/06/214702より取得しました。
shadcn/uiから考えるコンポーネント設計
shadcn/ui
- インストール不要でコピペで使うUIコンポーネント集
- v0ではかれるコードで使われてる
- 大規模より小規模向き
- RadixUIベース
- cvaでスタイル指定をする
- formはReactHookFormを使ってる
contenteditableと向き合う
contenteditable
- 請求書発行のプロダクト
- どんな金額になるか等さまざまなパターンがある
- リッチエディタが必要
- contenteditable
- input要素などではない要素で入力可能にする
- キー操作を自前で再実装が必要
- 日本語入力の挙動
- ADR
- 技術選択の背景の記録
- 他の妥当そうな選択肢を並べる
- やってみて
状態管理ライブラリZustandの導入から運用まで
Zustandの導入
- 入力フォームの内容を大きいオブジェクトで管理してる
- 状態管理ライブラリ
- 使ってみて
- ネストしたオブジェクトの管理が大変
... がたくさん
- Zustandにimmerのmiddlewareが入ってる
- Providerがいらないので入れやすい
- 型定義を書いていくのが大変
Open UIによるWeb UI標準化へのアプローチ
Open UI
- 汎用的なUIパターンやコントロールの検討や提案をしている
- 標準化団体と協力してhtml/cssなどに仕様追加
- 最近だとPopoverAPIなど
Rechartsで楽にゴリゴリにカスタマイズする!
Rechartsのカスタマイズ
- チャートをカスタマイズしたい
- Rechartsはカスタマイズの口は用意してるがsvgしか入れられない
- foreignObjectを使うとsvgにhmtlを入れられる
- createPortalでいい感じの位置にレンダリングさせちゃう
TypeScriptとGraphQLを活用した変化に強いプロダクト作り
GraphQL採用のメリット
- スキーマ駆動の開発
- FE/BEでスキーマを前提に開発ができる
- BEはモックで
- 1リクエストで必要な情報をとれる
- スキーマ変更を型で検知できる
Next.jsでクエリパラメータを楽に扱おう nuqsを紹介!
nuqs
- URLの文字列を単純な連結で組み立てるのは危険
- stateの同期など大変
- nuqsでクエリ管理ができる
- hooksでクエリと同期させられる
- 型安全にURL文字列にできる
Cloudflare PagesとCloudflare Accessで安全にWebサイトを共有する
Webサイトの限定共有
- 特定の人だけにページを公開したい場面
- Cloudflare PagesとCloudflare Access
- 注意点
.pages.dev はデフォルトで認証対象外なので注意
- GitHub連携するとアクセス制限する前にいきなりデプロイしてしまわないように
以上の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/09/06/214702より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14