2017-05-16 4 views
2

Ich habe einen mobx Speicher, von wo ich eine Reihe von Daten am ziehen und versuchen, jeweils als <li>React.js array.map nicht zurück jsx

let completedList = completedTodos.map(todo => { <li> {todo.value} </li> }); 

machen ich nicht herausfinden kann, warum diese gibt nichts zurück als undefiniert.

Entschuldigung, ich bin neu hier und das ist wahrscheinlich eine dumme Frage.

+1

Sie kehren nichts innen 'map' Körper Verwendung dieser:' lassen completedList = completedTodos.map (todo =>

  • {todo.value}
  • ); 'oder' return' das HTML-Element zurückzukehren , wie folgt: '' lassen completedList = completedTodos.map (todo => {return
  • {todo.value}
  • }); '' –

    +2

    @blackmind überprüfe meinen ersten Kommentar noch einmal, ich erwähnte beide Möglichkeiten :) –

    +1

    Dies funktionierte perfekt. Danke, dass du mir den Weg gezeigt hast. –

    Antwort

    1

    Einfacher Fehler! Ihre Pfeilfunktion sollte Klammern() anstelle von Klammern {} verwenden, wenn Sie return nicht explizit verwenden.

    let completedList = completedTodos.map(todo => (<p>{todo.value}</p>)); 
    

    Ansonsten können Sie die Pars ganz überspringen - der Pfeil Funktion ohne Klammern ein return impliziert.

    let completedList = completedTodos.map(todo => <p>{todo.value}</p>); 
    
    +1

    Sie können auch einfach 'completedTodos.map (todo =>

    {todo.value}

    );' aber gut fangen auf der {} – blackmind

    +0

    Yep, @ mayank-shukla und @blackmind haben Recht - Sie brauche nicht einmal die parens 'lassen completedList = completedTodos.map (todo =>

    {todo.value}

    );' – Zfalen