Next.js、Typescriptを学習中の身になります。
型定義用のPropsデータをtypesディレクトリで一括管理しています。
その際、コンポーネントに用いている変数名と型定義で用いている関数が意味的に重複してしまうことがあります。
このような場合、どのように変数の名称を設計して重複を避けていますでしょうか?
実現したいこと
Propsで扱う変数とコンポーネントで扱う変数の重複を避けたい
現状
以下、例になります。記事用のコンポーネントで扱うPost.tsxに記事データを扱うPropsを渡しています。
この時、記事データのPropsの型定義変数をPostとして扱いたいのですが、Postコンポーネントはここで定義されているので利用できません。
型定義ファイル
Typescript
1src/types/post.tsx 2export type Post = { 3title: string; 4content: string; 5}
コンポーネントファイル
Typescript
1src/components/Post.tsx 2 3import {Post} from "@/types/post"; 4type Props = { 5post: Post; 6} 7 8export const Post = ({post}: Props) => { 9<div> 10<h2>{post.title}</h2> 11<p>{post.content}</p> 12</div> 13}
問題点
変数名が重複定義されてしまっている(Post)
既存のアイデア
解決策①
Post.tsxをArticle.tsxなどとして、変数重複を避ける。
→Postコンポーネントとして扱えた方が意味的に管理しやすく、できればPostを使いたい。
解決策②
型定義で用いる変数をPostPropsのように末尾を統一して、重複を避ける。
→冗長な気がしていて、他に良い方法があるのではないかと思っています。
何度かこのような状況に出くわしてまして、良い感じの命名方法がないか悩んでいます。
良かったら実務でどのように変数管理しているかや、この場合のアイデアをご教授いただけると幸いです。
そもそもコンポーネントの設計がおかしいといったご指摘も歓迎です。
わかりづらい箇所がありましたら、お手数ですがコメントにて知らせてくださいませ。

回答1件
あなたの回答
tips
プレビュー