【问题标题】:why useObserver hook won't rerender twice, comparing to observer hoc?与观察者 hoc 相比,为什么 useObserver 钩子不会重新渲染两次?
【发布时间】:2020-07-09 15:27:48
【问题描述】:

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

这样做的好处是,如果任何钩子由于某种原因更改了可观察对象,则组件不会不必要地重新渲染两次。 (示例待定)

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

【问题讨论】:

    标签: mobx mobx-react mobx-react-lite


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-10-18
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2021-02-25
      • 2020-12-06
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多