关于 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