Skip to content

Commit 0691532

Browse files
Add Raw React example
1 parent 9bd54f6 commit 0691532

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

examples/BasicUsage.res

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,23 @@ module ReactRestate = {
7878
</div>
7979
}
8080
}
81+
82+
module ReactRaw = {
83+
@react.component
84+
let make = () => {
85+
let (elapsed, setElapsed) = React.useState(_ => 0)
86+
React.useEffect1(() => {
87+
let timeoutId = Js.Global.setTimeout(() => setElapsed(e => e + 1), 1_000)
88+
Js.Console.log2("schedule next tick: ", timeoutId)
89+
Some(() => {
90+
Js.Console.log2("cleanup: ", timeoutId)
91+
Js.Global.clearTimeout(timeoutId)
92+
})
93+
}, [elapsed])
94+
let reset = () => setElapsed(_ => 0)
95+
<div>
96+
{elapsed->Js.String.make->React.string}
97+
<button onClick={_ => reset()}> {"Reset"->React.string} </button>
98+
</div>
99+
}
100+
}

examples/Index.res

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ module App = {
44
let make = () => {
55
let url = RescriptReactRouter.useUrl()
66
switch url.path {
7+
| list{"react-raw", "basic"} => <BasicUsage.ReactRaw />
78
| list{"react-update", "basic"} => <BasicUsage.ReactUpdate />
89
| list{"react-update", "counter"} => <Counter.ReactUpdate />
910
| list{"react-update", "counter-effects"} => <Counter_SideEffects.ReactUpdate />
@@ -14,6 +15,9 @@ module App = {
1415
<div>
1516
<div>
1617
<h3> {"Basic Usage"->React.string} </h3>
18+
<button onClick={_ => RescriptReactRouter.push("/react-raw/basic")}>
19+
{"React Raw"->React.string}
20+
</button>
1721
<button onClick={_ => RescriptReactRouter.push("/react-update/basic")}>
1822
{"React Update"->React.string}
1923
</button>

0 commit comments

Comments
 (0)