javascript - 在 React <video> 元素上使用 `onProgress` 回调未接收预期属性

标签 javascript reactjs

我有一个视频元素,我传递了一个 url 以及一个 onCanPlayonProgress 回调。

<video
  url={url}
  onCanPlay={this.onCanPlay}
  onProgress={this.onProgress}
/>

本例中我传入的 URL 来自 window.URL.createObjectURL。我确实收到了 onProgress 事件,但它没有 lengthComputabletotalloaded 属性。

onProgress = ({ lengthComputable, total, loaded }) => {
  console.log(lengthComputable, total, loaded);  // these are all undefined.
}

我有点困惑。 According to MDN, these events should exist on that trigger ,所以我想知道这是React的一个怪癖还是我做错了什么。

如何获取视频的进度事件?

最佳答案

我相信这些属性在 nativeEvent 上可用:

onProgress = ({ nativeEvent: { lengthComputable, total, loaded } }) => {
  console.log(lengthComputable, total, loaded);
}

您尝试从中读取属性的对象是 React's SynteticEvent .

关于javascript - 在 React <video> 元素上使用 `onProgress` 回调未接收预期属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43356222/

相关文章:

javascript - react : problems with . ..传播

javascript - 更新 redux reducer 状态

javascript - 如何在 Next.js 组件中使用 SVG 图像?

javascript - 带有reactjs和bootstrap的下拉菜单

javascript - Angular DI (injector.get(FooService))

javascript - 什么是 "RegExp DoS issue"?

javascript - 从函数返回时,for 循环未定义

javascript - React 中表单内的条件渲染不起作用

javascript - 如何让这段 JavaScript 代码在 Opera 中工作

javascript - 单击 anchor 链接后导航栏隐藏文本