导入 mobx 的方式之间的区别

Difference between way of importing mobx

以下导入有何不同?

import { observer } from 'mobx-react/native'

而不是

import { observer } from 'mobx-react'

附加信息

评论如果需要更多信息

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

您还可以在节点模块文件夹中的 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';

如果您想了解有关 React 批处理更新的更多信息,请阅读此处: