小编dax*_*cks的帖子

在 useEffect 中响应取消订阅 RxJS 订阅

关于 useEffect hooks 中 RxJS 的一个简单问题

我注意到 React 社区在 RxJS 中使用了这种取消订阅模式:

useEffect(()=>{
  const sub = interval(10).subscribe()
  return ()=>sub.unsubscribe()
})
Run Code Online (Sandbox Code Playgroud)

我很好奇这是否是由于约定/代码清晰度所致,或者我是否忽略了某些内容。我想下面的内容会更简单:

useEffect(()=> interval(10).subscribe().unsubscribe)
Run Code Online (Sandbox Code Playgroud)

然而,我可能忽略了一些事情。

编辑:查看所选答案。“This”绑定在方法调用上,而不是绑定在订阅实例化上。结果,取消订阅失败,因为“this”对象不是指间隔订阅,而是指 useEffect 回调环境。感谢两位贡献者。以下是 useEffect 挂钩失败的示例:codesandbox.io/s/morning-bush-7b3m6h?file=/src/App.js

rxjs reactjs

3
推荐指数
1
解决办法
6477
查看次数

标签 统计

reactjs ×1

rxjs ×1