@@ -32,13 +32,6 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
3232 private var onBundleLoaded : ( ( ) -> Void ) ?
3333 private var delegate = ReactNativeBrownfieldDelegate ( )
3434
35- private func checkFactoryInitialized( launchOptions: [ AnyHashable : Any ] ? = nil ) {
36- if reactNativeFactory == nil {
37- delegate. dependencyProvider = RCTAppDependencyProvider ( )
38- self . reactNativeFactory = RCTReactNativeFactory ( delegate: delegate)
39- }
40- }
41-
4235 /**
4336 * Path to JavaScript root.
4437 * Default value: "index"
@@ -76,15 +69,16 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
7669 * Default value: nil
7770 */
7871 private var reactNativeFactory : RCTReactNativeFactory ? = nil
79- /**
80- * Root view factory used to create React Native views.
81- * Always proxies the currently active React Native factory so restarting
82- * React Native yields a fresh root view factory instance.
83- */
84- private var rootViewFactory : RCTRootViewFactory ? {
85- reactNativeFactory? . rootViewFactory
72+ private var factory : RCTReactNativeFactory {
73+ if let existingFactory = reactNativeFactory {
74+ return existingFactory
75+ }
76+
77+ delegate. dependencyProvider = RCTAppDependencyProvider ( )
78+ let createdFactory = RCTReactNativeFactory ( delegate: delegate)
79+ reactNativeFactory = createdFactory
80+ return createdFactory
8681 }
87-
8882 /**
8983 * Starts React Native with default parameters.
9084 */
@@ -97,9 +91,11 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
9791 initialProps: [ AnyHashable : Any ] ? ,
9892 launchOptions: [ AnyHashable : Any ] ? = nil
9993 ) -> UIView ? {
100- checkFactoryInitialized ( launchOptions: launchOptions)
101-
102- return rootViewFactory? . view (
94+ let resolvedFactory = factory
95+
96+ let rootViewFactory = resolvedFactory. rootViewFactory
97+
98+ return rootViewFactory. view (
10399 withModuleName: moduleName,
104100 initialProperties: initialProps,
105101 launchOptions: launchOptions
@@ -123,7 +119,8 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
123119 */
124120 @objc public func startReactNative( onBundleLoaded: ( ( ) -> Void ) ? , launchOptions: [ AnyHashable : Any ] ? ) {
125121 guard reactNativeFactory == nil else { return }
126- checkFactoryInitialized ( launchOptions: launchOptions)
122+ _ = launchOptions
123+ _ = factory
127124
128125 if let onBundleLoaded {
129126 self . onBundleLoaded = onBundleLoaded
0 commit comments