J'essaie de rendre conditionnellement plusieurs composants partagés, mais d'obtenir une erreur:
Ligne 182: 9: Strong> Attendez une mission ou une fonction d'appel et de la scie une expression non inutilisée-expressions p> blockQuote>
Le dessous fonctionne parfaitement sans le
code> composant wrapper. Toutefois, une nouvelle exigence client est qu'une condition de niveau plus élevée doit être placée sur tous les composants, avant d'atteindre la déclaration spécifique à la composante si elle est spécifique. Je voulais créer un composant wrapper
code> au lieu de gonfler les énoncés existants si-else avec plus de conditions ou de code de duplication. P> pour rendre cela de manière appropriée, j'ai enveloppé le si -Les déclarations avec une flèche anonyme. Mais l'erreur reste! P>
Toute aide serait appréciée. p>
xxx pré> Le but de
code> est de rendre son accessivres code> si
Si
) code> retourne
true code>. p>
xxx pré> p>
3 Réponses :
Le enfants code> fourni à
conditionnel code> est une fonction
code>. Pour rendre enfants en tant que fonction forte> (accessoires de rendu), vous devez l'exécuter comme ceci
enfants code> est une fonction, il vous suffit d'invoquer
enfants code>. p>
Je pense que la question est que votre EnhancedSections.map em> ne renvoie rien. return (
<Grid container>
{enhancedSections.map((section, index) => (
<Conditional // this is line 182
path={section.conditional ? section.conditional.param_name : null }
section={section}
>
{() => {
if ( // these series of if-else statements renders perfectly without the <Conditional/> wrapper
section.style == "single_select" &&
section.section_display_name == selectedSection
) {
return (
<SingleSelect
key={section.definition.display_name}
displayName={section.definition.display_name}
description={
section.definition.description
? section.definition.description
: null
}
path={{ id: id, field: `${section.field}` }}
/>
);
} else if (
section.style == "boolean" &&
section.section_display_name == selectedSection
) {
return (
<Boolean
key={section.definition.display_name}
displayName={section.definition.display_name}
description={section.definition.description}
path={{ id: id, field: `${section.field}` }}
/>
);
} else if (
... // more conditional cmps here
)
}}
</Conditional>
))
}
</Grid>
);
Au lieu de
retour vrai code> etc., juste
retour! ProPs.Path code> suffit.