Почему функция lambda не возвращает меня ничто, и если я делаю повторение если?

 render(){

 const elements = ['one', 'two', 'three'];

return(
    <div className="filterMenu">
        <div className="filterTag">
 <InputLabel id="label">Age</InputLabel>
 <Select labelId="label" id="select" value="10">
 {()=> <MenuItem value="10" >3</MenuItem>}
 </Select>
</div>

Если я использую это осуществление () => меня не возвращает статья, но если я взамен делаю этот mapeo:

render(){
    const elements = ['one', 'two', 'three'];

   return(
    <div className="filterMenu">
        <div className="filterTag">
<InputLabel id="label">Age</InputLabel>
<Select labelId="label" id="select" value="10">
{elements.map((value, index) => {
       return <MenuItem key={index}>{value}</MenuItem>
      })}
</Select>
</div>

Стоимость возвращает верно один одному, из-за которого с первым осуществлением он ничего не возвращает и взамен со второй он это делает верно

0
задан 23.12.2019, 12:59
1 ответ

Он возвращает тебя совсем не, потому что с ()=> <MenuItem value="10" >3</MenuItem> estГЎs объявляя ссылку на одну funciГіn (что не estГЎ будучи выполнена). А именно, estГЎs создавая одну funciГіn, но не она estГЎs звоня.

Однако, с

elements.map((value, index) => {
 return <MenuItem key={index}>{value}</MenuItem>
})

estГЎs возвращая один array из элементов (<MenuItem>)

1
ответ дан 23.12.2019, 22:06