У меня есть массив, который выглядит так:
const teamsAndPlayers = [
{
team: 'Liverpool',
players: ['Salah', 'Henderson']
},
{
team: 'Man Utd',
players: ['Rashford', 'De Gea']
},
{
team: 'Chelsea',
players: ['Hazard', 'Willian']
}
];
У меня есть 2 поля выбора, второе из которых является динамическим в зависимости от того, что выбрал пользователь. У меня проблема в том, что я не уверен, что лучший способ найти связанный массив на основе выбора пользователя. Я знаю, что мог бы использовать find
и другие методы, но могу ли я все это сделать в функции map
в операторе возврата?
Мой код выглядит следующим образом:
const Menu = () => {
const [selectedTeam, setSelectedTeam] = useState(null);
return (
<div>
<select
onChange={e => setSelectedTeam(e.target.value)}
id="team"
name="team"
>
{teamsAndPlayers(item => (
<option key={item.team} value={item.team}>
{item.team}
</option>
))}
<select id="players" name="players">
{teamsAndPlayers(item => (
// how can I get the related players in here
// based on first select choice?
))}
</div>
)
}