Méthodes de saisie valides : guide des contrôles de rendu conditionnel
P粉550257856
P粉550257856 2023-08-15 18:18:12
0
2
497
<p>J'essaie d'entrer dans le rendu conditionnel, mais cela me donne l'erreur : <code>L'élément a implicitement un type 'any' car l'expression de type 'number' ne peut pas être utilisée pour indexer les 'types' . Aucune signature d'index avec un paramètre de type 'number' n'a été trouvée sur le type 'types'.</code> Le rendu est valide lorsque tout est "any". </p> <pre class="brush:php;toolbar:false;">types d'interface { '0' : JSX.Element ; '1' : JSX.Element ; '2' : JSX.Element ; } fonction d'exportation par défaut Économie (accessoires : any) { const [étape, setStep] = useState(0) const rendu = () => composant const : types = { '0' : <Accueil />, '1' : <Créer />, '2' : <Détail />, } composant de retour[étape] } retour ( {rendre()} )</pré> <p>Quelqu'un peut-il m'aider à comprendre comment ajouter des types pour ce rendu conditionnel ? </p> <p>Je dois comprendre comment ajouter des types pour ce rendu conditionnel</p>
P粉550257856
P粉550257856

répondre à tous(2)
P粉823268006

Lors de l'indexation d'un objet, vous devez utiliser l'opérateur keyof. Extrait de la documentation TypeScript :

interface types {
  '0': JSX.Element;
  '1': JSX.Element;
  '2': JSX.Element;
}

export default function Economy(props: any) {
  const [step, setStep] = useState<keyof types>("0")

  const render = () => {
    const component: types = {
      '0': <Home />,
      '1': <Create />,
      '2': <Detail />,
    }
    return component[step]
  }
return (
   {render()}
)
P粉008829791

Votrestep具有number类型,不能用于索引types,因为types只有1,2,3。所以您可以手动将step设置为keyof types :

const [step, setStep] = useState<keyof types>(0)

Puisque step est un numéro, vous avez également besoin de la clé :

interface types {
  0: JSX.Element;
  1: JSX.Element;
  2: JSX.Element;
}
 const component: types = {
      0: <Home />,
      1: <Create />,
      2: <Detail />,
    }
 return component[step] // 没有错误
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal