如何在物理设备programmaticaly中加载开发菜单或重新加载react-native app

时间:2016-10-21 14:33:14

标签: react-native

我想加载开发菜单或触发重新加载而不必每次都动摇手机......因为它有点烦人。

我知道这可能是因为实时重新加载使用它。这是我在source: RCTDevMenu.h中找到的 /** * Manually reload the application. Equivalent to calling [bridge reload] * directly, but can be called from JS. */ - (void)reload; 知道如何(从JS调用重载)可以实现吗?

此外,还有一些类似的questions

2 个答案:

答案 0 :(得分:1)

虽然这是从obj-c而不是js调用的,但是以下使用Cocoapods在使用RN 0.43.0的iOS上解决了这个问题,并且可以帮助其他在现有iOS应用程序中嵌入RN的人:

首先确保你的Podfile中有'DevSupport'子规范:

pod 'React', :path => './js/node_modules/react-native', :subspecs => [
  'Core',
  'DevSupport'
]

然后导入React / RCTDevMenu.h,它在RCTBridge上提供了一个允许您访问RCTDevMenu的类别。

#import <React/RCTBridge.h>
#import <React/RCTDevMenu.h>

...

RCTBridge *bridge = [[RCTBridge alloc] initWithBundleURL:jsCodeLocation
                                          moduleProvider:nil
                                           launchOptions:nil];
[bridge.devMenu show];

答案 1 :(得分:0)

  1. import { NativeModules } from 'react-native';

  2. 在您要执行重新加载的JS代码中: NativeModules.DevMenu.reload();