是否可以在不编写任何本机代码的情况下以编程方式重新启动 React Native 应用程序?
例如,我从 这个问题 的答案中知道,我可以通过以下方式重新启动 Android 应用程序:
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
我可以对 React Native 做同样的事情吗?
原文由 Adam Jakiela 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你只想重启 JS 部分,那么你可以使用 React Native Restart Package 。这将适用于 Android 和 iOS。
如果你想重启整个应用程序,目前还没有 react native 包。如果您想自己创建,请查看以下链接
为 React Native 构建自定义 Android 模块
如果您发现编写基本 JAVA 代码有困难,您可以使用 React Native Create Library 生成样板
更新:
从 0.62 开始,React Native 增加了
DevSettings.reload()
。因此,如果您想在开发时以编程方式重新加载,您可以使用它。请注意,此方法在生产中不起作用!单击此处获取文档