mobx-react:在渲染功能之外观察

时间:2018-12-11 14:04:01

标签: mobx mobx-react mobx-state-tree

进行了很长的介绍,但我认为了解这个问题至关重要。

我拥有使用来自第三方库的组件“ B”的组件“ A”。 “ A”传递(作为对组件“ B”的支持)一个返回组件的函数。 当组件“ B”呈现时,它将调用“ A”作为道具发送的回调。

问题:回调使用存储中的值,但由于它是从“ B”渲染函数中调用的,因此未观察到,因此不会在回调使用的值发生更改时调用“ B”渲染函数。 (如此处所述:https://github.com/mobxjs/mobx/blob/gh-pages/docs/best/react.md#mobx-only-tracks-data-accessed-for-observer-components-if-they-are-directly-accessed-by-render)。

解决方案:使用“ Observer”组件包装回调。

此方法有效(即,使B的回调函数在其回调值更改时被调用),但是!

库期望从回调中获得2种可能的结果(其中之一为null-或任何虚假),但是现在回调返回所有时间的包装,因此它永远不会为null,并且库无法执行应做的事情带有空值。

我该如何进行从A传递到B的回调,以返回组件或由“观察者”包装的null?

0 个答案:

没有答案