2017-10-12 1 views
1

Ich versuche, Daten in einer geschachtelten Map-Funktion zu drucken. Aus irgendeinem Grund wird nichts gedruckt. hier ist, was ich habe:React JS Drucken von Daten in einer geschachtelten Map-Funktion in JSX

{dataFormat.protein_questions.map((item, index) => (
     <div key={_.uniqueId()} className="item"> 
     <div className="inline fields"> 
      <Field 
       onChange={handleChange} 
       name={`protein_question[${index}].units_of_measurement`} 
       component="select" 
       className="ui dropdown2" 
       required> 

       {item.typing_methods.map((method, methodIndex) => { 
        method.unitsOfMeasurement.map((unit, unitIndex) => (
         <option value={unit.title}>{unit.title}</option> 
        )); 
       })} 

      </Field> 
     </div> 
     </div> 
))} 

Die Optionen sind keine Daten in der Auswahl aus irgendeinem Grund drucken. Wenn ich die Daten in der Nested-Loop-Konsole protokolliere, zeigt es sich gut. Wer weiß, warum das passiert?

Übrigens ist dies innerhalb meiner Render-Funktion in einer JSX-View-Datei.

+0

, aber sie sind nicht alles von der 'item.typeing_methods.map' returing, also bin ich nicht sicher, was Sie – Icepickle

+0

erwarten Ich glaube, Sie müssen fügen Sie return statement wo immer –

+0

@DhavalRajani nein, er macht es richtig in den anderen map-Anweisungen, nicht, dass sie mit '(' und nicht '{' beginnen, die erste wird implizit die Anweisung zurückgeben, die zweite erwartet eine Rückkehr – Icepickle

Antwort

1

Es sieht aus wie Sie return vor method.unitsOfMeasurement... vergessen:

{item.typing_methods.map((method, methodIndex) => { 
    return method.unitsOfMeasurement.map((unit, unitIndex) => (
    <option value={unit.title}>{unit.title}</option> 
)); 
})} 
+1

Genius! Ich habe vergessen, dass du immer etwas in der Hauptschleife zurückgeben musst. Ich werde akzeptieren, wenn es mich lässt. – user3574492