Mobx @observer组件是否触发`render`或`forceUpdate`?

时间:2017-03-26 16:59:10

标签: javascript reactjs mobx

当可观察的更新时,Mobx @observer组件是否会在该组件上触发renderforceUpdate?它会触发哪些生命周期方法? renderforceUpdate之间有区别吗?

即使他们处于渲染方法中,孩子们如何保持不受影响? ReactMobx是否负责检测道具何时传递给儿童并且需要重新渲染?

谢谢!

1 个答案:

答案 0 :(得分:0)

对于基于类的组件,Mobx确实使用了力更新(作为对第一次渲染中观察到的属性的反应的一部分)。功能组件的行为有所不同,Mobx的较新版本在可能的情况下使用react挂钩。

如果子组件的道具发生变化(例如react pure components),子组件将重新渲染。此外,如果子组件具有可观察到的道具或在父组件中被取消引用的子代,则可能会导致该组件在更改时也重新呈现。