2016-05-20 8 views
0

So habe ich die folgenden:(Reagieren) Aussage in foreach-Schleife in JSX

// Build the component HTML. 
return (
    <dl className={ classes }> 

    {items.map((item, index) => 
     { item.type === 'dd' ? 
     <dd key={ index } index={ index }>{ item.text }</dd> 
     : 
     <dt className="search-result__description-list__description" key={ index } index={ index }>{ item.text }</dt> 
     } 
    )} 

    </dl> 
); 

Das Problem: nichts zu machen. Die Daten sind in items vorhanden. Wenn ich den Inhalt einfach ohne die if-else-Anweisung protokolliere, gibt er auch meine Daten zurück. Wenn ich jedoch die if-else-Anweisung verwende, wird nichts angezeigt. Keine Fehler Ether.

Irgendwelche Gedanken?

Antwort

4

Sie haben vergessen Rückkehr Aussage

// Build the component HTML. 
return (
    <dl className={ classes }> 

    {items.map((item, index) => 
     { return item.type === 'dd' ? 
     <dd key={ index } index={ index }>{ item.text }</dd> 
     : 
     <dt className="search-result__description-list__description" key={ index } index={ index }>{ item.text }</dt> 
     } 
    )} 

    </dl> 
); 

Sie diese Geige mit der gleichen Logik sehen: https://jsfiddle.net/69z2wepo/94452/

+0

Ich brauche Kaffee> -

+0

@WarreBuysse Kaffee kann in vergessenen Rückschlüsselwörter wirklich hilfreich sein. Um genau zu sein: Fettpfeil-Funktion (die aus CoffeeScript ausgeliehen sind). Sie können Geige aus meiner Antwort ohne irgendein Wort schreiben! https://jsfiddle.net/yeg9et8w/ – Everettss

+0

Wo haben Sie gelernt zu "sprechen" Reagieren Sie so flüssig? Ich arbeite hier an den Grundlagen, aber ich möchte/muss weiter entwickelt werden. Welche Bücher/Tutorials können Sie empfehlen? Oder bist du einfach nur genial? ;-) –

1

Das Problem in Pfeil Funktion ist, wenn der Block-Syntax ({}s nach dem Pfeil), müssen Sie den zurückgegebenen Wert mit dem Schlüsselwort return angeben.