Closed5

code reading of Component Design Patterns in bulletproof-react

habakanhabakan

フォルダ構成

App.tsxからたどるとと基本的に、featuresが各ページに関するルーティングをしている。
@featuresで、@componentsなどを利用して、各ページのコンポーネントを作成している。

components
├── Elements
│   ├── Button
│   ├── ConfirmationDialog
│   │   └── __tests__
│   ├── Dialog
│   │   └── __tests__
│   ├── Drawer
│   │   └── __tests__
│   ├── Link
│   ├── MDPreview
│   ├── Spinner
│   └── Table
├── Form
│   └── __tests__
├── Head
│   └── __tests__
├── Layout
└── Notifications
habakanhabakan

依存関係

feature -> componentsになっている。
components内はLayout -> Head, Form -> Elementsはあったが、基本的に依存方向は統一されている。
逆にいうと、components内のフォルダ構成はAtomic Designのようなコンポーネントの粒度を細かく管理をしていない。

habakanhabakan

stateやhooksなどの有無

Elements/ConfirmDialogなどではuseEffectなどを利用しており、hooksなどでフォルダを明確に分けているわけではなさそう。

habakanhabakan

storyboardの管理

@components下のものは全てstoryboardで管理し、@features/componentsなどは管理していない。
@features/componentsは基本的に、認可に基づいたレンダリングの制御をしているので、認可制御のコンポーネントをおいている?

このスクラップは2022/08/11にクローズされました