@@ -21,7 +21,7 @@ module ReactView =
2121 let private dispose ( disposable : IDisposable ) = disposable.Dispose()
2222
2323 let updateNativeView
24- ( createNativeView : string (* view name *) -> obj (* initialProps *) -> IReactView < 'view >)
24+ ( createNativeView : string (* view name *) -> IReactView < 'view >)
2525 ( view : Option < IReactView < 'view >>)
2626 ( dom : Option < ReactNativeDOMNode >): Option < IReactView < 'view >> =
2727 match ( view, dom) with
@@ -34,7 +34,8 @@ module ReactView =
3434 | (_, Some dom) ->
3535 view |> Option.iter dispose
3636
37- let newReactView = createNativeView dom.Element.Name dom.Element.Props
37+ let newReactView = createNativeView dom.Element.Name
38+ newReactView.Props <- dom.Element.Props
3839 newReactView.Children <- dom.Children
3940 Some newReactView
4041 | _ ->
@@ -45,20 +46,19 @@ module ReactView =
4546 ( scheduler : IScheduler )
4647 ( createNativeView :
4748 ( Exception -> unit ) (* onError *) ->
48- ( string (* view name *) -> obj (* initialProps *) -> IReactView < 'view >) ->
49+ ( string (* view name *) -> IReactView < 'view >) ->
4950 string (* view name *) ->
50- obj (* initialProps *) ->
5151 IReactView<'view>
5252 )
5353 ( element : ReactElement ): IObservable < Option < 'view >>=
5454
5555 let curryCreateNativeView onError =
5656 let createNativeViewRef =
57- let dummy ( viewName : string ) ( initialProps : obj ) : IReactView < 'view > = failwith " oops"
57+ let dummy ( viewName : string ): IReactView < 'view > = failwith " oops"
5858 ref dummy
5959
60- let createNativeView ( viewName : string ) ( initialProps : obj ) =
61- createNativeView onError (! createNativeViewRef) viewName initialProps
60+ let createNativeView ( viewName : string ) =
61+ createNativeView onError (! createNativeViewRef) viewName
6262
6363 createNativeViewRef := createNativeView
6464 createNativeView
@@ -81,8 +81,7 @@ module ReactView =
8181 ( view : 'view )
8282 ( setProps : 'props -> IDisposable )
8383 ( setChildren : IImmutableMap < int , ReactDOMNode > -> unit )
84- ( onDispose : unit -> unit )
85- ( initialProps : obj ) : IReactView < 'view > =
84+ ( onDispose : unit -> unit ) : IReactView < 'view > =
8685
8786 let errors = new BehaviorSubject< Option< Exception>>( None)
8887 let throwIfErrors () =
@@ -101,8 +100,6 @@ module ReactView =
101100 |> Observable.last
102101 |> Observable.subscribeWithError dispose ( Some >> errors.OnNext)
103102
104- propsSubject.OnNext ( initialProps :?> 'props)
105-
106103 {
107104 new IReactView< 'view> with
108105 member this.Dispose () =
@@ -124,21 +121,19 @@ module ReactView =
124121 let createViewWithoutChildren < 'view , 'props when 'view :> IDisposable >
125122 ( name : string )
126123 ( viewProvider : unit -> 'view )
127- ( setProps : 'view -> 'props -> IDisposable )
128- ( initialProps : obj ) =
124+ ( setProps : 'view -> 'props -> IDisposable ) =
129125 let view = viewProvider ()
130- createView name view ( setProps view) ignore ignore initialProps
126+ createView name view ( setProps view) ignore ignore
131127
132128 let createViewImmediatelyRenderingAllChildren < 'view , 'props when 'view :> IDisposable >
133129 ( scheduler : IScheduler )
134130 ( onError : Exception -> unit )
135- ( createNativeView : string (* view name *) -> obj (* initialProps *) -> IReactView < 'view >)
131+ ( createNativeView : string (* view name *) -> IReactView < 'view >)
136132 ( removeAllViews : 'view -> unit )
137133 ( addViews : 'view (* parent *) -> seq < 'view > (* children *) -> unit )
138134 ( name : string )
139135 ( viewProvider : unit -> 'view )
140- ( setProps : 'view -> 'props -> IDisposable )
141- ( initialProps : obj ) =
136+ ( setProps : 'view -> 'props -> IDisposable ) =
142137
143138 let view = viewProvider ()
144139 let updateNativeView = updateNativeView createNativeView
@@ -206,4 +201,4 @@ module ReactView =
206201 |> ImmutableMap.values
207202 |> Seq.iter dispose
208203
209- createView name view ( setProps view) setChildrenSubject.OnNext onDispose initialProps
204+ createView name view ( setProps view) setChildrenSubject.OnNext onDispose
0 commit comments