MCPcopy Create free account
hub / github.com/DTStack/dt-react-component / Basic

Function Basic

src/useMergeOption/demos/basic.tsx:8–48  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6type ExampleState = MergeOption<{ day?: boolean }>;
7
8export default function Basic() {
9 const [state, setState] = useState<ExampleState>(false);
10
11 const merged = useMergeOption(state, { day: true });
12
13 const getValue = () => {
14 if (state === false) return 0;
15 if (state === true) return 2;
16 return 1;
17 };
18 const setValue = (value: number) => {
19 setState([false, { day: false }, true][value]);
20 };
21
22 return (
23 <>
24 <label>Change value:</label>
25 <Segmented
26 value={getValue()}
27 options={[
28 {
29 label: 'false',
30 value: 0,
31 },
32 {
33 label: `{ day: false }`,
34 value: 1,
35 },
36 {
37 label: 'true',
38 value: 2,
39 },
40 ]}
41 onChange={(val) => setValue(val as number)}
42 />
43 <pre style={{ marginTop: 8, border: '1px solid #eee', padding: 8 }}>
44 {JSON.stringify(merged, null, 2)}
45 </pre>
46 </>
47 );
48}

Callers

nothing calls this directly

Calls 3

useMergeOptionFunction · 0.85
getValueFunction · 0.85
setValueFunction · 0.85

Tested by

no test coverage detected