我想将一个组件附加到一个监听器或为该监听器创建一个自定义钩子。
在客户端我会这样做:
useEffect(() => {
const subscription = observable.subscribe({
next(value) {
setValue(value);
}
});
return () => subscription.unsubscribe();
}, [observable])
使用useEffect附加侦听器并在return函数中取消订阅它。但useEffect在服务器端不起作用。
我认为这个问题可以在更高层次上解决(或必须解决)。如果我等到一切都完成然后在服务器上运行renderToString函数,一切都应该是最新的。这意味着:
之后在客户端,异步代码可能发生并且必须处理,useEffect挂钩将完成它们的工作。