导入mobx的方式之间的差异

时间:2017-11-02 04:49:50

标签: javascript react-native mobx mobx-react mobx-utils

以下导入如何产生影响?

  

从'mobx-react / native'

导入{observer}

而不是

  

从'mobx-react'

导入{observer}

其他信息

  • React原生版:~0.48.4
  • 反应:16.0.0
  • mobx-formatters:1.0.2,
  • mobx-logger:0.6.0,
  • mobx:3.3.1,
  • mobx-persist:0.3.4,
  • mobx-react:4.3.3

评论如果需要更多信息

1 个答案:

答案 0 :(得分:2)

Mobx-React使用名为unstable_batchedUpdates的函数。 此依赖关系来自react-dom(浏览器)或react-native(移动)。 在您的移动设备上,您没有dom,因此您无法使用react-dom。 因此,当您导入' mobx-react / native'它使用react-native包中的函数。

见这里:

https://github.com/mobxjs/mobx-react/blob/0e1cdc83bfb7e45a43aa9b8f23498d3c95943433/src/index.js

您还可以在您的nodes modules文件夹中的mobx-react中看到,index.js(从' mobx-react'导入时解析)将ReactDom作为依赖项:

}(this, (function (exports,mobx,React,ReactDOM) { 'use strict';

另一方面,从' mobx-react / native'导入时,它将reactNative作为依赖项而不是ReactDom:

}(this, (function (exports,mobx,React,reactNative) { 'use strict';

如果您想了解更多有关反应批量更新的信息,请阅读: