上下文
我们已经在使用一个框架来开发我们的移动应用程序,它与React Native非常相似(我们用JS编写所有东西,它在Android和iOS上运行)。
我们的框架提供了一些内置的API来在屏幕上显示内容并执行其他操作
示例:
function homePage() {
List.addTitle("Welcome");
List.addButton("Next", "goToNextPage()") // List.addButton(label, onclick)
List.show() // will display currently what is in the buffer or List
}
在Android上,当用户登录时,他们将下载最新代码并运行它(通过eval
)。在iOS上,我们需要制作新版本并在每次需要发布新版本时提交给Apple
目标
目标是迁移到React Native并仅重新实现旧平台的基本API(如List
),以便我们可以继续使用我们已编写的代码。
我已经看过像CodePush / AppCenter这样的解决方案,但我们的代码还没有在ReactNative中,所以我认为它不适用于我们。
此question和此one是相关的,但没有具体的答案。
我写了一篇小Snack来了解我希望它如何运作。
Login
组件处理登录SignIn
组件会破坏代码并呈现该代码中的内容问题
我必须在与List
相同的文件中重新实现SignIn.js
API。
如果我尝试导入它,那么List
将在eval中未定义。
为什么呢?
使用此方法,每次刷新页面或导航到其他屏幕时,下载的代码都必须为eval
。我担心表演,有没有更好的方法呢?
非常感谢你的帮助