Как сопоставить дату с помощью другого API Javascript

#javascript #reactjs #react-props

Вопрос:

Как я могу использовать date с другим API (например, YouTube, Vimeo)? В состоянии у меня есть таблица с объектами, объекты разные. Я сопоставляю эту таблицу с компонентом.

 {items.map((item) => (<Item key={uuidv4()} product={item}></Item>))}
 

Я понятия не имею , как я могу использовать здесь реквизит, чтобы иметь title , img и likeCount когда путь к цели другой.

Путь к названию YouTube:

 const title = props.item.snippet.localized.title;
 

Путь к названию Vimeo:

 const title = props.item.name;
 

Я пробовал это, но это не работает.

 export default function Video(props) {
    const title = props.item.snippet.localized.title || props.item.name;
    return (
        <div>{title}</div>
    );
}
 

Ответ №1:

Вы можете использовать ?? , чтобы использовать это:

 {items.map((item) => (<Item key={uuidv4()} product={item.name ?? item.snippet.localized.title}></Item>))}
 

В противном случае подойдет и более сложная функция со стрелками:

 {items.map((item) => {
    const title = ...;
    return <Item key={uuidv4()} product={title/>;
})}
 

Если ваша проблема в том , что props.item.snippet.localized.title ошибки вызваны, например .snippet , бытием undefined , попробуйте необязательную цепочку:

 const title = props.item.snippet?.localized?.title ?? props.item.name;
 

Комментарии:

1. Спасибо тебе, братан, дополнительная цепочка решила мою проблему. Хорошего дня!