【问题标题】:How to import/require existing Non-React-Native-Component JS to a React Native Component如何将现有的 Non-React-Native-Component JS 导入/要求到 React Native 组件
【发布时间】:2017-03-09 22:31:45
【问题描述】:
我有一个相当大的 Web 应用程序的 javascript 遗留代码库,其中包括表示/数据模型/控制器/连接性。我正在尝试用 ReactNative 替换表示层技术,同时保留现有的数据模型/控制器/连接部分。所以第一个问题是,在我构建了 ReactNativeComponent 之后,我们定义了 UI 布局,建立了绑定,创建了样式......但是我需要从遗留代码中调用一些 js 函数。
如何将现有的 js 文件(不是 ReactNativeComponent)要求/导入到一个 ReactNativeComponent 并使用它?
【问题讨论】:
标签:
javascript
reactjs
react-native
native
【解决方案1】:
我以前也遇到过这个问题。我没有找到更优雅的解决方案,我所做的就是将我的遗留代码包装在一个模块中。
假设这是foo.js
var Foo = (function() {
var mod = {
init: function() {
// legacy code here...
}
}
return mod;
})()
module.exports = Foo;
然后在调用文件中:
import foo from './somewhere/foo';
foo.init();
我不喜欢这种方法,但它确实有效。希望它可以有所帮助。
【解决方案2】:
如果是纯js的话可以正常导入。如果他们与 html/css/dom 有任何关系,则会抛出错误。