2017-08-30 2 views
0

Je reçois une erreur lors de l'ajout de la ligne au code (i++), je voudrais savoir où le code doit être ajouté.Obtenir une erreur lors de l'ajout de i ++ réagir js es6 jsx

let i = 1; 
this.props.client_name.split(",").map((entry0) => (
    this.props.campaign_name.split(",").map((entry1) => (
     this.props.adset_name.split(",").map((entry2) => (
      (item.client_name.toLowerCase().indexOf(entry0.toLowerCase()) !== -1 && item.campaign_name.toLowerCase().indexOf(entry1.toLowerCase()) !== -1 && item.adsets_name.toLowerCase().indexOf(entry2.toLowerCase()) !== -1 )? 
       **i++** 
       (<Task key={item._id} id={item.adsets_id} i={key} item={item} date_from={this.state.date_from} date_to={this.state.date_to} campaign_name={this.state.campaign_name} adset_name={this.state.adset_name} />) 
      : 
       (null) 
     )) 

    )) 
)) 

Merci

+0

Le problème est que vous avez quelques astérisques avant et après '' i ++ ... Blague à part, s'il vous plaît ne pas utiliser la mise en forme de démarquage dans le code extraits, ils ne fonctionneront pas. Si vous voulez marquer une ligne spéciale, utilisez plutôt des commentaires. –

+1

Oh, et si vous obtenez une erreur, alors s'il vous plaît * dites-nous * l'erreur que vous obtenez. Copiez-le (sous forme de texte) et collez-le dans le corps de la question. –

+0

N'oubliez pas que JavaScript supporte des choses utiles comme 'if', vous n'avez donc pas besoin d'utiliser des opérateurs conditionnels multilignes! –

Répondre

1

Parce que vous utilisez deux expression ici:

condition? i++ (<Task ..../>) : null; 

les envelopper dans (), écrire comme ceci:

condition? (i++, <Task ..../>) : null; 

D'abord, il incrémente la valeur de moi, puis retournez le composant Tâche.

Vérifiez MDN Doc pour plus de détails sur l'opérateur ternaire.

Vérifiez cet extrait:

var a = 1; 
 
var b = true? (a++, a): 0; 
 

 
console.log('b', b);