首页 > 解决方案 > 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>
    );
  }
}

标签: reactjsreactjs-flux

解决方案


推荐阅读