Méthodes de saisie valides : guide des contrôles de rendu conditionnel
P粉550257856
2023-08-15 18:18:12
<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>
Lors de l'indexation d'un objet, vous devez utiliser l'opérateur
keyof
. Extrait de la documentation TypeScript :Votre
step
具有number
类型,不能用于索引types
,因为types
只有1,2,3
。所以您可以手动将step
设置为keyof types
:Puisque
step
est un numéro, vous avez également besoin de la clé :