在React中更改状态时removeChild失败

时间:2019-04-04 19:09:00

标签: reactjs youtube-api media-player

我正在实现混合播放列表(使用YouTube和上传的视频(使用react-youtube和Azure Media Player)。

所需的功能是:

  • 在YouTube(Y)和Y视频之间切换。
  • 在上载(U)和U视频之间切换。
  • 在Y和U视频之间切换。
  • 在U和Y视频之间切换。
  • Y视频结束时,如果是,则自动播放下一个视频。
  • 当U视频结束时,如果是U,则自动播放下一个视频。
  • Y视频结束时,如果是U,则自动播放下一个视频。
  • 当U视频结束时,如果是,则自动播放下一个视频。

不起作用的功能是从Youtube切换到上载时,所有其他选项都可以正常使用。尝试从Y切换到U时显示的错误是:

DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

我有一个CourseDetails组件,其中对U个视频和azuremediaplayer/mediaPlayer使用react-youtube组件。在这两种情况下,我都用setState更改了选定的视频,并且从U视频中收到该错误。

编辑1::从Y更改为Y或U视频时,在U视频之间交换时,组件也不会卸载。但是,当从U更改为Y时确实如此。在这两种情况下,我都在更改状态。

编辑2:问题是无法删除Azure Media Player组件。如果我不使用该组件,则切换有效(尽管在U情况下不显示视频,所以这毫无意义)。

很乐意分享解决此问题所需的任何代码。

0 个答案:

没有答案