与 observer hoc 相比,为什么 useObserver hook 不会重新渲染两次?

why useObserver hook won't rerender twice, comparing to observer hoc?

我正在阅读 mobx-react-lite 的文档,并对 observer hoc 和 useObserver hook 之间的区别感到困惑。根据文档,观察者 hoc 将触发重新渲染两次,而 useObserver 不会:

One good thing about this is that if any hook changes an observable for some reason then the component won't rerender twice unnecessarily. (example pending)

我对 mobx-react-lite 不太熟悉,但对导致这种差异的原因很感兴趣。 这是文档:https://mobx-react.js.org/observer-hook

useObserver 钩子只知道功能组件中引用的可观察对象,而观察者 HOC 对任何可观察对象都是反应性的 propsobserver HOC 实际上只是将整个组件包装在 useObserver.