File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed
Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff 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+ }
Original file line number Diff line number Diff 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 >
You can’t perform that action at this time.
0 commit comments