LoginSignup
1
0

More than 1 year has passed since last update.

最近実践したAtomic Designで学んだこと

Posted at

Atomic Designについて

僕がAtomic Designについて勉強するときに参考にしたサイトです
https://note.com/tabelog_frontend/n/n07b4077f5cf3

開発でフロントエンドを触る機会ができたので、どうせするならとAtomic Designを取り入れることにしました。

こういうフレームワークのようなディレクトリ構造はとったことがないので、どういういう風に書けばいいか初めはわからなかったのですが、書いていくうちにしっくりくるディレクトリ構造を作ることができたので共有です。

私が使用したディレクトリ構造

Reactでの開発を想定しています

src
 ├components
    ├atoms
    ├molecules
    ├organisms
 ├pages
 ├routes
    ├validation
    ├Route
 ├functions 
 └util

pages

ここには一番親となるファイルを書きます
ここには値や処理は書かずコンポーネントのみを書きます

components

organisms

ここにはページ全体に関連するStateや関数などを記述します
また、複数のmoleculesを記述し、定義した変数や関数を渡して処理をさせます

molecules

ここでは親から受け取ったStateや関数を使ったりAtomsを使ったりします。
基本的には描画を担当するイメージです

ただ、このコンポーネントのみで完結するような関数や変数はここで定義します

atoms

ここは最小限の構成で記述していきます。
一番意識することは汎用的なものを作成することなので、ここではできる限り関数や変数は定義しません。
関数の処理などを入れたいときはPropsでその関数を渡してもらって処理をするように実装します。

functions

ここではorganismsで実行したい処理を記述します。
本当はorganismsで処理を記述したいのですが、そこに書いてしますと1ファイル内のコード量が増えてしまうのでここで管理するようにしています。

utils

ここは名前の通り汎用的なデータを保管する場所です
多くのコンポーネントで利用されるであろう型やContextなどをここで定義してあげるようにしています。

最後に

Atomic DesignならTemplateもだろと思った方もいたかもしれないですが、個人的にディレクトリの数を増やしてしまうとこれはどこに書くんだっけ?みたいになってしまってめんどくさくなってしまったので、今回は3階層にしてみました

みなさんはどのようにしてディレクトリを分けていますでしょうか?

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0