寻找视频(通过显式设置而不是使用播放函数来改变它的 currentTime)可能会导致它抛出
MediaError {code: 3, message: "PIPELINE_ERROR_DECODE: video decode error"}
Run Code Online (Sandbox Code Playgroud)
它只发生在 Chrome 和 Windows 上。
我设法通过更改关闭 Chrome 的“在可用时使用硬件加速”选项在设置下然后重置 Chrome 来修复。
但是,我想要一些不涉及要求用户设置浏览器设置的永久解决方案。
我的服务器返回 206,因为此答案指定/sf/answers/2527137581/ 我正在等待加载事件,视频播放正常,有时跳过工作。如果我尝试以非常快的速度重复搜索,似乎错误会更频繁。如果之前对 setCurrentTime 的调用未完成(寻求事件),我确实有一个侦听器不会让客户端搜索视频
在服务器端,我使用 node + express。我的视频位于静态文件夹中,我使用
app.use('/videos',validateToken,express.static('videos'))
Run Code Online (Sandbox Code Playgroud)
validateToken 正在检查 url 中的 JWT 令牌
每当调用mapDispatchToProps时,它都会生成新函数以返回。例如:
const mapDispatchToProps = function(dispatch, ownProps) {
return {
addToStack: (episodeId, stackId) => {
return dispatch(StackAction.addEpisodeToStack(episodeId, stackId));
},
};
}
Run Code Online (Sandbox Code Playgroud)
每次调用mapDispatchToProps时,它将生成一个带有新箭头功能的新对象。
在我的应用程序中,我常常不得不避免重新渲染组件。使用PureComponent通常是可行的方法。但是,由于功能总是不同的,因此PureComponent将无济于事,我必须创建一个shouldComponentUpdate策略。在这里,我必须将所有mapDispatchToProps函数“列入黑名单”,并忽略所有这些函数。我必须将每个新功能添加到列表中,以免重新渲染。
这是黑名单shouldComponentUpdate样板的示例:
const blacklist = [
'addToStack',
]
shouldComponentUpdate(nextProps, nextState) {
for (let i in nextProps) {
if (blacklist.includes(i)) continue;
if (nextProps[i] !== this.props[i]) {
return true;
}
}
for (let i in nextState) {
if (nextState[i] !== this.state[i]) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
我想出了一个新的解决方案
const dispatch;
const mapDispatchToPropsFunctions = {
addToStack: (episodeId, stackId) => { …Run Code Online (Sandbox Code Playgroud) 我最近开始使用 npm,有时在安装过程中会弹出一些警告。
例如,运行
npm install gulp-chimp --save-dev
Run Code Online (Sandbox Code Playgroud)
产生以下警告
npm WARN 已弃用 to-iso-string@0.0.2:to-iso-string 已弃用,请改用 @segment/to-iso-string。
npm WARN deprecated jade@0.26.3: Jade 已重命名为 pug,请安装最新版本的 pug 而不是 jade
npm 警告已弃用 minimatch@0.3.0:请更新到 minimatch 3.0.2 或更高版本以避免 RegExp DoS 问题
npm WARN 已弃用ough-cookie@2.2.2:解析 Set-Cookie 的 ReDoS 漏洞https://nodesecurity.io/advisories/130
我的问题不是针对 gulp-chimp 的,而是针对 npm 的。我是否应该尝试更新这些软件包?我知道开发人员决定是否使用更新的软件包,我觉得我自己尝试更新软件包可能会破坏某些东西,但我也担心让漏洞存在。