导入 mobx 的方式之间的区别
Difference between way of importing mobx
以下导入有何不同?
import { observer } from 'mobx-react/native'
而不是
import { observer } from 'mobx-react'
附加信息
- React Native 版本:~0.48.4
- 反应:16.0.0
- mobx-格式化程序:1.0.2,
- mobx-记录器:0.6.0,
- mobx: 3.3.1,
- mobx-坚持:0.3.4,
- mobx-反应:4.3.3
评论如果需要更多信息
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 批处理更新的更多信息,请阅读此处:
以下导入有何不同?
import { observer } from 'mobx-react/native'
而不是
import { observer } from 'mobx-react'
附加信息
- React Native 版本:~0.48.4
- 反应:16.0.0
- mobx-格式化程序:1.0.2,
- mobx-记录器:0.6.0,
- mobx: 3.3.1,
- mobx-坚持:0.3.4,
- mobx-反应:4.3.3
评论如果需要更多信息
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 批处理更新的更多信息,请阅读此处: