有効な入力メソッド: 条件付きレンダリング コントロールのガイド
P粉550257856
P粉550257856 2023-08-15 18:18:12
0
2
501
<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粉550257856
P粉550257856

全員に返信(2)
P粉823268006

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

リーリー
いいねを押す +0
P粉008829791

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

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

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

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート