mobx observer 和 React useEffect 有什么区别?

What's the difference between mobx observer and React useEffect?

mobx 声称“自动检测可观察对象的渲染”。

另一方面,React useEffect 声称“通过使用这个 Hook,你告诉 React 你的组件需要在渲染后做一些事情”。

那么有什么区别呢?什么时候用 mobx 什么时候用 React useEffect?

不要将它们视为同一件事,一个是状态管理工具(可观察对象)的一部分,另一个是当您的应用程序状态发生变化时执行所谓的“副作用”的一种方式。

Mobx observables ONLY 侦听您的 Mobx 存储中的变化,例如 API 调用的结果,当前经过身份验证的用户是谁,或者即使是下拉菜单菜单打开。如果您的商店中没有任何东西,则不会发生任何事情,观察者不会与本地反应状态进行交互。

useEffect 用于执行操作 AFTER 有些事情发生了变化,例如在您的下拉菜单切换打开之后,我们可能想要获取更多数据,但 useEffect 没有绑定在 mobx 中,意味着 useEffect 可以响应任何与状态相关的东西,无论是道具、本地状态(useState)还是来自 useContext.

的数据