ReactJS: вложенный .map с условным выражением для сопоставления значений - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть два массива this.state.race {"raceName": "President", "raceID": 100
}

this.state.candidates (например) {"canName":"Джон", "canID": 1, "raceID": 100
}, {"canName": "David", "canID": 2, "raceID": 100
}, {"canName":"Sally", "canID": 3, "raceID": 101
}

Я хочу показать все гонки и только кандидатов, у которых есть совпадающий расовый

, поэтомубыть таким:

Раса 100: 1. Джон 2. Дэвид Раса 101: {пустой список}

мой код такой:

render() {
  return (
    {this.state.racelist.map(myrace => (
       {myrace.title}
       <divider />
       {this.state.candidatelist.map(mycand => (
          {/********************************************************
          how can i put a conditional statment here that checks to see if,
          mycand.raceID === myrace.raceID  ???? and if those match, render
          mycand info
          ********************************************************/}
       ))}
    ))}
  )
}

1 Ответ

0 голосов
/ 06 декабря 2018
  1. return null

list.map(item => if(condition) item else null)

использовать фильтр

list.filter(condition).map(renderItem)

...