@@ -1334,6 +1334,56 @@ module InitialContent = {
1334
1334
}
1335
1335
}
1336
1336
1337
+ module App = {
1338
+ @react.component
1339
+ let make = () => {
1340
+ let (count, setCount) = React.useState(() => 0)
1341
+ let (username, setUsername) = React.useState(() => "Anonymous")
1342
+
1343
+ <div>
1344
+ {React.string("Username: ")}
1345
+ <input
1346
+ type_="text"
1347
+ value={username}
1348
+ onChange={event => {
1349
+ event->ReactEvent.Form.preventDefault
1350
+ let eventTarget = event->ReactEvent.Form.target
1351
+ let username = eventTarget["value"]
1352
+ setUsername(_prev => username)
1353
+ }}
1354
+ />
1355
+ <button
1356
+ onClick={_evt => {
1357
+ setCount(prev => prev + 1)
1358
+ }}>
1359
+ {React.string("Click me")}
1360
+ </button>
1361
+ <button onClick={_evt => setCount(_ => 0)}> {React.string("Reset")} </button>
1362
+ <CounterMessage count username />
1363
+ </div>
1364
+ }
1365
+ }
1366
+ `
1367
+
1368
+ let since_11 = ` module CounterMessage = {
1369
+ @react.component
1370
+ let make = (~count, ~username=?) => {
1371
+ let times = switch count {
1372
+ | 1 => "once"
1373
+ | 2 => "twice"
1374
+ | n => Int.toString(n) ++ " times"
1375
+ }
1376
+
1377
+ let name = switch username {
1378
+ | Some("") => "Anonymous"
1379
+ | Some(name) => name
1380
+ | None => "Anonymous"
1381
+ }
1382
+
1383
+ <div> {React.string(\` Hello \$\{ name\} , you clicked me \` ++ times)} </div>
1384
+ }
1385
+ }
1386
+
1337
1387
module App = {
1338
1388
@react.component
1339
1389
let make = () => {
@@ -1416,7 +1466,7 @@ let make = (~versions: array<string>) => {
1416
1466
| (None , _ ) =>
1417
1467
switch initialVersion {
1418
1468
| Some ({major : 10 , minor }) if minor >= 1 => InitialContent .since_10_1
1419
- | Some ({major }) if major > 10 => InitialContent .since_10_1
1469
+ | Some ({major }) if major > 10 => InitialContent .since_11
1420
1470
| _ => InitialContent .original
1421
1471
}
1422
1472
}
@@ -1666,16 +1716,14 @@ let make = (~versions: array<string>) => {
1666
1716
| Problems => "Problems"
1667
1717
| Settings => "Settings"
1668
1718
}
1669
- let onMouseDown = evt => {
1719
+ let onClick = evt => {
1670
1720
ReactEvent .Mouse .preventDefault (evt )
1671
1721
ReactEvent .Mouse .stopPropagation (evt )
1672
1722
setCurrentTab (_ => tab )
1673
1723
}
1674
1724
let active = currentTab === tab
1675
- // For Safari iOS12
1676
- let onClick = _ => ()
1677
1725
let className = makeTabClass (active )
1678
- <button key = {Int .toString (i ) ++ ("-" ++ title )} onMouseDown onClick className disabled >
1726
+ <button key = {Int .toString (i ) ++ ("-" ++ title )} onClick className disabled >
1679
1727
{React .string (title )}
1680
1728
</button >
1681
1729
})
0 commit comments