SwitchCase
SwitchCase は、switch-case 文と同様に、与えられた値に基づいてコンポーネントを 宣言的にレンダリングするコンポーネントです。特定の状態に応じて、異なるコンポーネントを 条件付きでレンダリングするときに便利です。
インターフェース
ts
function SwitchCase<Case>(
value: Case,
caseBy: Partial<{ [P in StringifiedValue<Case>]: () => ReactElement | null }>,
defaultComponent?: () => ReactElement | null
): ReactElement | null;パラメータ
- valuerequired · Case
比較する値。
caseBy内の一致するキーに対応するコンポーネントがレンダリングされます。
- caseByrequired · Partial<{ [P in StringifiedValue<Case>]: () => ReactElement | null }>
値をレンダリングするコンポーネントに対応付けるオブジェクト。キーは取り得る値を表し、値は対応するコンポーネントを返す関数です。
- defaultComponent() => ReactElement | null
valueがcaseByのどのキーにも一致しない場合にレンダリングするコンポーネント。
戻り値
- ReactElement | null
ケースに応じて条件付きでレンダリングする React コンポーネント。
使用例
tsx
function App() {
return (
<SwitchCase
value={status}
// status の値に応じて TypeA、TypeB、TypeC のいずれかをレンダリングします。
caseBy={{
a: () => <TypeA />,
b: () => <TypeB />,
c: () => <TypeC />,
}}
// status の値がどのケースにも一致しない場合は Default をレンダリングします。
defaultComponent={() => <Default />}
/>
);
}