検索

ホームページ  >  に質問  >  本文

有効な入力メソッド: 条件付きレンダリング コントロールのガイド

<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>
P粉550257856P粉550257856471日前512

全員に返信(2)返信します

  • P粉823268006

    P粉8232680062023-08-16 16:02:42

    オブジェクトにインデックスを付けるときは、keyof 演算子を使用する必要があります。 TypeScript ドキュメントから:

    リーリー

    返事
    0
  • P粉008829791

    P粉0088297912023-08-16 14:40:17

    あなたの step にはタイプ number があり、types には 1,2 しかないため、types のインデックス付けには使用できません。 3。したがって、stepkeyof Types:

    に手動で設定できます。 リーリー

    step は数値であるため、次のキーも必要です:

    リーリー

    返事
    0
  • キャンセル返事