main
js 34 lines 679 Bytes
Raw
1 import * as React from 'react';
2
3 const {useState, useEffect} = React;
4 const useEffectEvent =
5 React.useEffectEvent || React.experimental_useEffectEvent;
6
7 export default function UseEffectEvent(): React.Node {
8 return (
9 <>
10 <SingleHookCase />
11 <HookTreeCase />
12 </>
13 );
14 }
15
16 function SingleHookCase() {
17 const onClick = useEffectEvent(() => {});
18
19 return <div onClick={onClick} />;
20 }
21
22 function useCustomHook() {
23 const [state, setState] = useState();
24 const onClick = useEffectEvent(() => {});
25 useEffect(() => {});
26
27 return [state, setState, onClick];
28 }
29
30 function HookTreeCase() {
31 const onClick = useCustomHook();
32
33 return <div onClick={onClick} />;
34 }