メインコンテンツにスキップ

ルーティング

WIP

この記事は執筆中です

その公開を早めるために、以下の方法があります。


🍰 Stay tuned!

状況

ページへのURLが、pages層より下の層にハードコーディングされています。

entities/post/card

<Card>
<Card.Title
href={`/post/${data.id}`}
title={data.name}
/>
...
</Card>

問題

URLがページ層に集中しておらず、責任範囲において適切な場所に配置されていません。

無視する場合

URLを変更する際に、URL(およびURL/リダイレクトのロジック)がpages層以外のすべての層に存在する可能性があることを考慮しなければなりません。

また、これは単純な商品カードでさえ、ページからの一部の責任を引き受けることを意味し、プロジェクト全体にロジックが分散してしまいます。

解決策

URLやリダイレクトの処理をページ層およびそれ以上の層で定義することです。

URLを下層の層には、コンポジション/プロパティ/ファクトリーを通じて渡すことができます。