有効な入力メソッド: 条件付きレンダリング コントロールのガイド
P粉550257856
2023-08-15 18:18:12
<p>条件付きレンダリングに入ろうとしていますが、次のエラーが表示されます: <code>タイプ 'number' の式はタイプ 'types' のインデックスに使用できないため、要素には暗黙的に 'any' 型が含まれています.タイプ 'number' のパラメータを持つインデックス署名がタイプ 'types' で見つかりませんでした。</code> すべてが「any」の場合、レンダリングは有効です。 </p>
<pre class="brush:php;toolbar:false;">インターフェイス タイプ {
'0': JSX.要素;
'1': JSX.要素;
'2': JSX.要素;
}
デフォルト関数のエクスポート Economy(props: any) {
const [ステップ、setStep] = useState(0)
const render = () => {
const コンポーネント: タイプ = {
'0': <ホーム />,
'1': <作成 />,
'2': <詳細 />,
}
コンポーネントを返す[ステップ]
}
戻る (
{与える()}
)</pre>
<p>この条件付きレンダリングのタイプを追加する方法を理解できる人はいますか? </p>
<p>この条件付きレンダリングのタイプを追加する方法を理解する必要があります</p>
オブジェクトにインデックスを付けるときは、
リーリーkeyof
演算子を使用する必要があります。 TypeScript ドキュメントから:あなたの
に手動で設定できます。 リーリーstep
にはタイプnumber
があり、types
には1,2 しかないため、
typesのインデックス付けには使用できません。 3
。したがって、step
をkeyof Types
:
リーリーstep
は数値であるため、次のキーも必要です: