ReactNativeをネイティブアプリに表示する方法を書いた。表示するだけのページなどであれば、iOS/Androidが両方同じソースコードで管理できるため便利だ。
さて、複数の固定ページを表示するには、どうしたらいいか?それは、ReactNative側のindex.jsで、AppRegistry.registerComponent
してあげれば良い。
例えば、こんな感じ
import Page1 from './Page1'; import Page2 from './Page2'; AppRegistry.registerComponent("Page1", () => Page1); AppRegistry.registerComponent("Page2", () => Page2);
これらは、ビルドされ、index.bundleになるのだが、ネイティブ側で、ReactNativeのViewを作るときに、ModuleNameを設定することで、表示を分けることができる。
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"Page1" initialProperties:nil launchOptions:nil];
これで、Page1が表示される。moduleNameをPage2にすれば、Page2が表示される。