From 69312f5133734237edaea6ca29e2de9bf3203050 Mon Sep 17 00:00:00 2001 From: polwex Date: Sun, 15 Jun 2025 01:44:45 +0700 Subject: checkpoint here... --- bs5/universal/native/shared/Counter.re | 50 ++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bs5/universal/native/shared/Counter.re (limited to 'bs5/universal/native/shared/Counter.re') diff --git a/bs5/universal/native/shared/Counter.re b/bs5/universal/native/shared/Counter.re new file mode 100644 index 0000000..4f8835d --- /dev/null +++ b/bs5/universal/native/shared/Counter.re @@ -0,0 +1,50 @@ +open Melange_json.Primitives; + +[@react.client.component] +let make = (~initial: int) => { + let (state, [@browser_only] setCount) = RR.useStateValue(initial); + + let onClick = _ => { + switch%platform () { + | Client => setCount(state + 1) + | Server => () + }; + }; + + + {React.array([| + "A classic counter" , + + |])} + ; +}; + +module Double = { + /* This component tests that client components can be nested in modules */ + [@react.client.component] + let make = (~initial: int) => { + let (state, [@browser_only] setCount) = RR.useStateValue(initial); + + let onClick = _ => { + switch%platform () { + | Client => setCount(state + 2) + | Server => () + }; + }; + + + {React.array([| + "A classic counter" , + + |])} + ; + }; +}; -- cgit v1.2.3