Я пытался провести рефакторинг своего приложения React, которое использует обратные вызовы для изменения.
Я почти закончил, но не смог решить небольшую ошибку. Приложение показывает видео YouTube, извлекая данные из YouTube.
Теперь, когда приложение загружается впервые, оно корректно показывает видео.
Функция выбора работает нормально, а также функция поиска
Но если я выберу видео после первого рендера, а затем сделаю поиск. Это не показывает первое видео поиска.
Я знаю, что проблема в этой части кода в файле video_detail.js .
Мое git-репо для этого приложения git-репо для youtube-player-flux
Пожалуйста, помогите мне решить эту маленькую ошибку.
render() {
if (!this.state.item) {
return <li className="media-right">Loading...</li>;
}
let video;
Object.keys(this.state.userSelected).length === 0
? (video = this.state.item)
: (video = this.state.userSelected);
const videoId = video.id.videoId;
const url = `https://www.youtube.com/embed/${videoId}`;
return (
<div className="video-detail col-md-8">
<div className="embed-responsive embed-responsive-16by9">
<iframe className="embed-responsive-item" src={url} />
</div>
<div className="details">
<div>{video.snippet.title}</div>
<div>{video.snippet.description}</div>
</div>
</div>
);
}
}