109 votes

Réagissez en affichant 0 au lieu de rien avec le composant conditionnel de court-circuit (&&)

J'ai la simple déclaration de court-circuit suivante qui devrait montrer un composant ou rien:

{profileTypesLoading && <GeneralLoader />}

Si l'instruction est fausse, elle restitue un 0 au lieu de rien.

J'ai fait un console.log(profileTypesLoading) juste pour voir rapidement quel est le statut de la profileTypesLoading et c'est 1 ou 0 comme prévu. 0 doit être faux ... ne provoquant aucun rendu. Droite?

Une idée de comment cela a-t-il pu arriver?

11voto

Sakhi Mansoor Points 3258

Cela résoudrait le problème:

 {!!profileTypesLoading && <GeneralLoader />}

Comme il convertira 0 en faux. La raison en est que lorsque c'est 0 la condition suivante n'est pas exécutée et elle se comporte comme un nombre en JavaScript, donc la double négation est utile ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X