ページ
アプリケーションのルートで定義されたトップレベルのコンポーネントを含みます。 それらは、modules フォルダからより低レベルのコンポーネントをインポートします(詳細は下記を参照)。モジュール
各モジュールは、単一の機能または機能のグループを表し、それぞれ固有のコンポーネント、状態、動作ロジックで構成されています。 以下の構造に従う必要があります。 モジュール内にモジュール(サブモジュール)をネストでき、同じルールが適用されます。コンテキスト
コンテキストは、各レベルでプロップスを手動で渡すことなく、コンポーネントツリーを通じてデータを渡す方法です。 詳細はReactコンテキストを参照してください。GraphQL
フラグメント、クエリ、ミューテーションを含みます。 詳細はGraphQLを参照してください。- フラグメント
- クエリ
- ミューテーション
フック
詳細はフックを参照してください。ステート
ステート管理のロジックを含みます。 RecoilJS がこれを管理します。- セレクター: 詳細はRecoilJSセレクターを参照してください。
ユーティリティ
再利用可能な純粋関数のみを含むべきです。 それ以外の場合は、hooksフォルダにカスタムフックを作成します。
UI
アプリケーションで使用される再利用可能なUIコンポーネントをすべて含みます。 このフォルダには、特定の種類のコンポーネント用にdata、display、feedback、input といったサブフォルダを含めることができます。 各コンポーネントは自己完結型で再利用可能でなければならず、アプリケーションのさまざまな部分で使用できます。
UIコンポーネントをmodulesフォルダ内の他のコンポーネントから分離することで、一貫したデザインを維持し、UIの変更がコードベースの他の部分(ビジネスロジック)に影響を与えないようにするのが容易になります。
インターフェースと依存関係
ui フォルダを除く任意のモジュールから、他のモジュールのコードをインポートできます。 これにより、そのコードは簡単にテストできます。
内部
各部分(フック、ステート、…) は、モジュール内でのみ使用される部分を含むinternal フォルダを持つことができます。