是否可以为使用`document`的现有库编写垫片并保持原始状态?

时间:2017-02-09 11:00:52

标签: javascript react-native bind javascript-objects shim

我正在将一个库导入ReactNative项目,该项目使用document大约50次。因为ReactNative不使用document,所以我必须重写这些行才能使它在ReactNative环境中工作。问题是......

是否可以创建垫片以使原始库完整无缺?

我必须重写document.bodydocument.createElementdocument.appendElement等行。我猜document.body可能只是我的根容器类,而另外两种方法是自解释的。

因为我之前从未见过这样的事情,所以我只是在猜测。可以导入库,然后将document绑定为ReactNative component,以便组件在所有提及中替换文档吗?

The JS file in question.

1 个答案:

答案 0 :(得分:1)

虽然可以在全局范围内对document对象进行填充,但我敢打赌,你肯定不会让这个组件在React Native中运行。它与本机浏览器API的结合太深,无法实现。

相反,我会考虑在WebView中运行功能,或者找到一个替代解决方案,以实现您想要实现的目标。

看起来像您尝试使用的库Kandy提供iOS和Android SDK。一种解决方案可能是将本机SDK桥接到React Native。