@@ -32,12 +32,6 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
32
32
private var onBundleLoaded : ( ( ) -> Void ) ?
33
33
private var delegate = ReactNativeBrownfieldDelegate ( )
34
34
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
35
42
36
/**
43
37
* Path to JavaScript root.
@@ -76,12 +70,23 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
76
70
* Default value: nil
77
71
*/
78
72
private var reactNativeFactory : RCTReactNativeFactory ? = nil
73
+
74
+ private var factory : RCTReactNativeFactory ? {
75
+ if let existingFactory = reactNativeFactory {
76
+ return existingFactory
77
+ }
78
+
79
+ delegate. dependencyProvider = RCTAppDependencyProvider ( )
80
+ let createdFactory = RCTReactNativeFactory ( delegate: delegate)
81
+ reactNativeFactory = createdFactory
82
+ return createdFactory
83
+ }
79
84
/**
80
85
* Root view factory used to create React Native views.
81
86
*/
82
- lazy private var rootViewFactory : RCTRootViewFactory ? = {
83
- return reactNativeFactory ? . rootViewFactory
84
- } ( )
87
+ private var rootViewFactory : RCTRootViewFactory ? {
88
+ factory ? . rootViewFactory
89
+ }
85
90
86
91
/**
87
92
* Starts React Native with default parameters.
@@ -95,9 +100,9 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
95
100
initialProps: [ AnyHashable : Any ] ? ,
96
101
launchOptions: [ AnyHashable : Any ] ? = nil
97
102
) -> UIView ? {
98
- checkFactoryInitialized ( launchOptions : launchOptions )
99
-
100
- return reactNativeFactory ? . rootViewFactory. view (
103
+ guard let rootViewFactory else { return nil }
104
+
105
+ return rootViewFactory. view (
101
106
withModuleName: moduleName,
102
107
initialProperties: initialProps,
103
108
launchOptions: launchOptions
@@ -121,7 +126,7 @@ class ReactNativeBrownfieldDelegate: RCTDefaultReactNativeFactoryDelegate {
121
126
*/
122
127
@objc public func startReactNative( onBundleLoaded: ( ( ) -> Void ) ? , launchOptions: [ AnyHashable : Any ] ? ) {
123
128
guard reactNativeFactory == nil else { return }
124
- checkFactoryInitialized ( launchOptions : launchOptions )
129
+ _ = factory
125
130
126
131
if let onBundleLoaded {
127
132
self . onBundleLoaded = onBundleLoaded
0 commit comments