ReactコンポーネントpropsのJSDoc
React関数コンポーネントとそのpropsのJSDoc/TSDocを生成します。コンポーネントの動作、prop型、デフォルト値、レンダリングルールをドキュメント化します。
React
詳細な説明
Reactコンポーネントのドキュメント化
Reactコンポーネントはpropsを受け取りJSXを返す関数です。ドキュメント化では、コンポーネントの目的、propsインターフェース、デフォルトのprop値、副作用を説明します。
シグネチャの例
function DataTable<T extends Record<string, unknown>>(props: {
data: T[];
columns: ColumnDef<T>[];
onRowClick?: (row: T) => void;
loading?: boolean;
}): JSX.Element
生成されるTSDoc
/**
* 設定可能なカラム、行クリックハンドリング、ローディング状態を持つ
* 汎用データテーブルコンポーネント。
*
* @typeParam T - 各データ行の形状。レコード型である必要があります。
* @param props - コンポーネントのprops。
* @param props.data - 表示する行データの配列。
* @param props.columns - ヘッダーラベル、セルレンダリング、
* ソート動作を制御するカラム定義。
* @param props.onRowClick - 行がクリックされた時に発火するオプションのコールバック。
* @param props.loading - データの代わりにローディングスケルトンを表示。
*/
Propsのドキュメントパターン
Reactコンポーネントでは、propsパラメータのドット表記を使用して各propをドキュメント化します。
ドキュメント化すべき一般的なReact Props
- コールバックprops (
onX): いつ発火し、どの引数を受け取るか - ブーリアンフラグ: デフォルト値が何か
- Render props / children: どのコンテキストが渡されるか
- Ref転送: refがどの要素にアタッチされるか
ユースケース
共有コンポーネントライブラリ(デザインシステム)、Storybookエントリ、フォームコンポーネント、データ可視化ウィジェット、複数のページやアプリケーションで使用される再利用可能なReactコンポーネントのドキュメント化。