Javascript mobx存储在生命周期方法内不可访问?
我有一个react组件,我正在注入一个mobx存储。当我试图从生命周期方法(componentWillMount或componentDidMOunt)中的存储访问可观察对象时,该值为空。但是,当我在render方法中访问它时,它是可用的。我有什么遗漏吗?我觉得这里缺少了一些基本的东西。清楚地指出,Javascript mobx存储在生命周期方法内不可访问?,javascript,reactjs,mobx,mobx-react,Javascript,Reactjs,Mobx,Mobx React,我有一个react组件,我正在注入一个mobx存储。当我试图从生命周期方法(componentWillMount或componentDidMOunt)中的存储访问可观察对象时,该值为空。但是,当我在render方法中访问它时,它是可用的。我有什么遗漏吗?我觉得这里缺少了一些基本的东西。清楚地指出,mobx react中的observer仅在包装组件的渲染方法中跟踪可观察对象 转换React组件定义的函数(和装饰器), 将组件类或独立渲染函数反应为反应 组件,该组件跟踪渲染和 当其中一个值出现时,
mobx react
中的observer
仅在包装组件的渲染方法中跟踪可观察对象
转换React组件定义的函数(和装饰器),
将组件类或独立渲染函数反应为反应
组件,该组件跟踪渲染和
当其中一个值出现时,将自动重新渲染组件
变化
如果您查看一下,您可以确认它只跟踪渲染方法,根据我在Mobx状态管理方面的经验,您不应该访问 来自React组件的观测变量。 甚至当您将Redux存储注入React组件时。(装饰或包裹) 计算变量旨在提供更新的可观测变量,以对组件作出反应
您可以访问Mobx操作和计算的,但不能访问可观察的。它们仅在Mobx类中使用。我的理解是:Mobx将观察render方法中访问的可观察对象的变化,如果值发生变化,则运行render。虽然生命周期方法中提供了可观测值,但它不会监视这些可观测值的变化,因此不会在值发生变化时重新渲染。是的。这是有道理的。我想我在树上设置了一个新值,我的子组件在设置值之前已经渲染过了。我将对此进行更深入的探讨。您是否使用mobx react绑定?看,我当然喜欢。我认为vijayst揭露了我的部分问题。