appRegistry.registerComponent(appKey,component)中appKey的意义是什么?

4 react-native

声明AppRegistry.registerComponent如下:

static registerComponent(appKey, componentProvider, section?) 
Run Code Online (Sandbox Code Playgroud)

appKey生成的变量与给定的项目名称相同react-native init projname.但这个值用于什么?如果我将其更改为其他内容,则应用程序会抛出异常.我如何将此值更改为其他值?

Chr*_*man 9

当你打电话给AppRegistry.registerComponent你时,你正在创建javascript land和native land之间的桥梁.

因此,如果注册您的组件看起来像这样......

AppRegistry.registerComponent('App', () => App);
Run Code Online (Sandbox Code Playgroud)

然后你的AppDelegate.m文件看起来像这样......

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                 moduleName:@"App"
                                                 initialProperties:nil
                                                 launchOptions:launchOptions];
Run Code Online (Sandbox Code Playgroud)

需要注意的重要部分是...... moduleName:@"App",我们正在使用appKey并创建一个映射到字符串"App"的RCTRootView(例如你的appKey)

这两个字符串应该一致,以便RCTRootView知道如何映射回应用程序的javascript逻辑.

  • “节”是做什么用的? (2认同)