React.js “Invariant Violation: findComponentRoot”
Je sais que l'erreur est de l'imbriquée trucs et imbriquées _.map
fonction, mais je ne peux pas comprendre comment le faire.
Ci-dessous une partie de la fonction rendu:
Ce que je veux faire est:
- Case est
this.props.currencylist
existe - Alors afficher un
<select>
déroulant - avec le
<options>
venant de lathis.props.currencylist
{
this.props.currencylist ?
<select id="fiatselector" onChange={this.onSelectCurrency} value {this.props.selectedcurrency}>
{
_.map(this.props.currencylist, function(currency) {
return <option value={currency}> {currency} </option>
})
}
</select>
:
""
}
merci beaucoup!
Btw, lors de la première de rendre, il fonctionne parfaitement, il bugs lors de la doivent être mis à jour, nouveau rendu avec une nouvelle liste des devises déclencher l'erreur
- Avez-vous une base de js fiddle qui peuvent être testés? Voici un lien vers une question similaire: stackoverflow.com/questions/25026399/...
- Est-ce le composant simplement le rendu d'une liste déroulante, seulement? Sens de la racine de cette composante serait un
select
tag? - la liste déroulante est un enfant de base divs <div className="panel panel-par défaut"> puis <div className="panel-body"> je me demande si cette façon de rendre (nested option avec _.carte) est la bonne manière de faire
- J'ai isolé le menu déroulant, à présent, il a seulement des parents, une base de div et il déclenche toujours la même erreur =/
- Pouvez-vous poster un peu plus de code? Difficile de dire ce qu'est la question? J'ai rencontré ce problème une fois avant avec le rendu
tables
. Google chrome ajoutetbody
même si rien n'est spécifié. Cette cause, la invariant erreur pour moi. J'ai corrigé par l'ajout de la tbody de balisage. Le vôtre est différent, mais j'aurais besoin de plus de code pour voir. - Plus de code ne va pas aider réellement ce rendu ce simple élément. Je pense que j'ai isolé le problème , c'.accessoires de jeu.liste des devises varie donc quand réagir ne peut pas trouver ou de trouver de nouvelles possibilités que prévu, quelque chose comme ça. Qu'en pensez-vous ? Et comment le corriger ?
Vous devez vous connecter pour publier un commentaire.
Le réel problème ici, c'est l'espace autour de la valeur.
Il devrait être:
L'ancien extrémités de rendu:
Le navigateur supprime la durée de wrappers, mais ils Réagissent toujours attend d'eux d'être là.
id
, mais l'espacement aidéJ'ai été en mesure de reproduire l'erreur. Apparemment, vous devez ajouter le
key
attribut à votre option de balises. Je souhaite que je pourrais fournir une meilleure explication, mais je ne sais pas assez sur ReactJs à expliquer.Ici est le changement en fonction de votre extrait de code (seul changement est l'ajout de la
key
attribut. Je viens d'utiliser la monnaie comme la clé ici):Voici un exemple simple que j'ai utilisé pour le test (Légèrement modifié rendu mais même idée):