@@ -1109,17 +1109,29 @@ external createDOMElementVariadic: (
1109
1109
external someElement : React .element => option <React .element > = "%identity"
1110
1110
1111
1111
@module ("react/jsx-runtime" )
1112
- external jsxKeyed : (string , JsxDOM .domProps , string ) => Jsx .element = "jsx"
1112
+ external jsxNotKeyed : (string , JsxDOM .domProps ) => Jsx .element = "jsx"
1113
1113
1114
1114
@module ("react/jsx-runtime" )
1115
- external jsx : (string , JsxDOM .domProps ) => Jsx .element = "jsx"
1115
+ external jsxKeyed : (string , JsxDOM .domProps , string ) => Jsx .element = "jsx"
1116
+
1117
+ let jsx = (~key = ?, element , props ) =>
1118
+ switch key {
1119
+ | Some (key ) => jsxKeyed (element , props , key )
1120
+ | None => jsxNotKeyed (element , props )
1121
+ }
1116
1122
1117
1123
@module ("react/jsx-runtime" )
1118
- external jsxs : (string , JsxDOM .domProps ) => Jsx .element = "jsxs"
1124
+ external jsxsNotKeyed : (string , JsxDOM .domProps ) => Jsx .element = "jsxs"
1119
1125
1120
1126
@module ("react/jsx-runtime" )
1121
1127
external jsxsKeyed : (string , JsxDOM .domProps , string ) => Jsx .element = "jsxs"
1122
1128
1129
+ let jsxs = (~key = ?, element , props ) =>
1130
+ switch key {
1131
+ | Some (key ) => jsxsKeyed (element , props , key )
1132
+ | None => jsxsNotKeyed (element , props )
1133
+ }
1134
+
1123
1135
// Currently, not used by JSX ppx
1124
1136
@deprecated ("Please use ReactDOM.createElement instead." )
1125
1137
external stringToComponent : string => React .component <'a > = "%identity"
0 commit comments