@@ -14,11 +14,17 @@ type component<'props> = Jsx.component<'props>
1414
1515let component = Jsx .component
1616
17+ /** Use Js_obj.assign, not Js.Obj.assign, otherwise the dependency will not be picked up correctly
18+ in the ninja file. */
19+ @inline
20+ let addKeyProp = (p : 'props , k : string ): 'props =>
21+ Obj .magic (Js .Obj .assign (Obj .magic (p ), {"key" : k }))
22+
1723@module ("react" )
1824external createElement : (component <'props >, 'props ) => element = "createElement"
1925
2026let createElementWithKey = (component , props , key ) =>
21- createElement (component , Jsx . addKeyProp (props , key ))
27+ createElement (component , addKeyProp (props , key ))
2228
2329@module ("react" )
2430external cloneElement : (element , 'props ) => element = "cloneElement"
@@ -28,7 +34,7 @@ external createElementVariadic: (component<'props>, 'props, array<element>) => e
2834 "createElement"
2935
3036let createElementVariadicWithKey = (component , props , elements , key ) =>
31- createElementVariadic (component , Jsx . addKeyProp (props , key ), elements )
37+ createElementVariadic (component , addKeyProp (props , key ), elements )
3238
3339@module ("react/jsx-runtime" )
3440external jsxKeyed : (component <'props >, 'props , string ) => element = "jsx"
0 commit comments