#javascript #reactjs
#javascript #reactjs
Вопрос:
У меня есть функция, в которой я получаю идентификатор желаемой команды в зависимости от того, является ли она домашней или выездной командой. Вместо того, чтобы создавать отдельные функции для обоих действий, я хотел сделать это за один раз. Вот что у меня есть до сих пор :
const getTeamLogo = (team) => {
let teamStatus = team === "home" ? "homeTeam" : "awayTeam";
let teamId = nextMatch?.teamStatus.id
let ourTeam = teamInfo?.find(({ team }) => team.id === teamId);
return ourTeam?.team.crestUrl;
};
Чтобы извлечь идентификатор, мне нужно передать либо HomeTeam, либо AwayTeam. Поэтому я подумал о создании другой переменной, чтобы в зависимости от параметра я мог передать туда нужное слово, но в текущей ситуации я получаю Cannot read property 'id' of undefined
ошибку. Есть идеи о том, как мне улучшить этот код и получить желаемый результат? Заранее спасибо.
Ответ №1:
Использовать teamStatus
в качестве вычисляемого ключа.
const getTeamLogo = (team) => {
let teamStatus = team === "home" ? "homeTeam" : "awayTeam";
let teamId = nextMatch?.[teamStatus]?.id
let ourTeam = teamInfo?.find(({ team }) => team.id === teamId);
return ourTeam?.team.crestUrl;
};