reactjs - React Flux 应用程序未正确显示数据
问题描述
我试图重构我的 React 应用程序,它使用回调来改变。我几乎完成了,但无法解决一个小错误。该应用程序通过从 youtube 获取数据来显示 youtube 视频。现在,当第一次加载应用程序时,它会正确显示视频。
但是如果我在第一次渲染后选择一个视频然后进行搜索。它不显示搜索的第一个视频。
我知道问题出在video_detail.js文件中的这部分代码中。这个应用程序的git repo youtube-player-flux 的 git repo
请帮我解决这个小错误。
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>
);
}
}
解决方案
推荐阅读
- python - TensorFlow GPU 利用率低于 10%
- php - Laravel: Storage::drive() 和 Storage::read()
- java - Hadoop map reduce java
- angular - 为什么它在尝试在 angular6 中查找引导代码时显示错误“错误”?
- dart - 字节数据操作缓慢
- ruby - 使用“执行”编写厨师 rspec 测试
- .net - 如何从同一项目中的 Angular 4 页面导航到 asp.net Web 表单
- apache-spark - 胶水dpu和最大并发的关系
- ckeditor - Indentblock CKEditor (4) 插件导致包含边距属性的样式不会出现在样式组合中
- html - 不能将单选按钮垂直放置在中间