Closed12

アーキテクチャ系

sosasosa

型系で気に食わないこと。

serviceで型定義とAPI呼び出し
hooksはカスタムフック。
componentsのprops。

propsの型とserviceで定義したAPIの型がhooksでマッピングされている状態。
reqでもresでもデータマッピングするのか。
reqはserviceでマッピング、resはhooksでマッピングというキモい形になっている気がする。

sosasosa

componentsのprops。を

interface Props {
  title: string
  description?: string
  to: string
  icon?: string | any
  children?: any
  layout?: 'vertical' | 'horizontal'
}

こういう形ではなくて、
interface Props ; CustomTypeみたいな形にしている。
ので、typeが溢れる。

ただ、モジュール内の型として、型を定義することで舵を切ったため。再考が必要だということ。

sosasosa

これはただ、マッピングが様々な所でされるという懸念を表明しただけっぽい
hooksで管理、まとめた。以上。決。

sosasosa

編集と詳細でhooksを分けるべきか。

感覚的には分けたほうが上手くいくのではないかと感じる。
ただ、useSWRのkeyを同一にしたい。
これが保証される。乃至は明示的であれば分ける選択が取れる。

sosasosa

SWRの扱いづらいところ。

  • keyの指定とsrevices層呼び出し関数の関連性
  • keyがfalsyな時発火しないをkey以外の指定材料がある時(詳細でidとか)
  • optionalの分離
  • GET的なPOST(これはそもそもswr設計意図に反している)
sosasosa

commonとfeatures/componentsと。
命名が気になり。commonって何?とならんか。。
commonとutilの差分もパッと見?ではないか。

sosasosa

utilとcommonの話をしよう。

基本的にこう。
commonは共通コンポーネントまたは、業務ロジック。
utilは汎用的。

これを考えると、commonは削除しなくてもよかったかもしれない。
ただ、features階層の構成とsrc階層の構成的に判断したということにしておこう。

そして、utilについて。

共通処理をまとめるディレクトリを作成すると、
「なんでもかんでも入れる」になってしまいがちである。
メンテナンスしにくくなるので、

意識としては、

  • 絞ること。汎用的すぎる関数を作らない。
  • どこでその関数を使う想定であるか明記する。
sosasosa

エラー系。

404とかに全部飛ばすと編集系は困るのではなかろうか。失敗したらば内容消えないか。

sosasosa

server componentsになる所ない気がしてきた。
むしろdynamic importになるかならないか中心に考えた方が良いのでは。

sosasosa

何の問題点があって、この記述をしたのか忘れた。

apps Routerとpages Routerを混同させながら記述したのだろう。
RSCの話している時はapps Routerの話として良いだろう。

ということで、RSCどうのこうのは一旦放置。

dynamic import は?導入しなかったけど、できるところはあるし、すぐ導入できるように設計はしたはず。

このスクラップは2024/10/06にクローズされました