# 作用

RN 移除了不少模块，放到社区中了，官方推荐从社区中重新安装模块；
但实际上只是移除了 js 代码，未移除原生模块。

按照官方推荐方式，有以下弊端：

- 社区模块的原生端其实已存在于 RN 内核了
- 同一个模块两份原生代码，加大安装包体积
- 同一个模块实例化两次，增加运行时内存


所以这里弄一套配合原生模块的 js 代码，用来直接使用已移除的模块，有以下弊端：

- 不符合 RN 开发原则，因为这些原生模块未来某天可能就移除了
- 社区中模块原生端持续维护，还会新增一些功能，这里就不一定了
- 部分模块，如 `MaskedViewIOS` ，内核版仅支持 iOS，社区版支持双端


