2017-10-12 21 views
1

我試圖在嵌套地圖函數中打印數據。出於某種原因,它不打印任何東西。這裏是我所擁有的:React JS打印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> 
))} 

這些選項由於某些原因不會在select中打印任何數據。當我在控制檯中記錄嵌套循環內的數據時,它顯示正常。任何人都知道這是爲什麼發生?

順便說一句,這是在我的渲染功能在一個JSX視圖文件。

+0

,但你是不是returing從'item.typeing_methods.map'任何東西,所以我不知道你期待 – Icepickle

+0

我認爲你需要在每個地方添加return語句 –

+0

@DhavalRajani不,他在其他地圖語句中正確地做了它,而不是他們以'('而不是'{'開始,第一個隱式地返回語句,第二個預期返回 – Icepickle

回答

1

看起來你method.unitsOfMeasurement...之前忘記return

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

天才!我忘了你必須在主循環中總是返​​回一些東西。我會接受,當它讓我。 – user3574492