PluginProbe ʕ •ᴥ•ʔ
GenerateBlocks / 1.5.3
GenerateBlocks v1.5.3
trunk 1.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.7.0 1.7.1 1.7.2 1.7.3 1.8.0 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.3.0
generateblocks / src / components / debounced-text-control / index.js
generateblocks / src / components / debounced-text-control Last commit date
index.js 4 years ago
index.js
20 lines
1 import { TextControl } from '@wordpress/components';
2 import { useEffect } from '@wordpress/element';
3 import useDebounceState from '../../hooks/useDebounceState';
4
5 export default function DebouncedTextControl( props ) {
6 const [ debounceValue, setValue, value ] = useDebounceState( props?.value, 800 );
7
8 useEffect( () => {
9 props.onChange( debounceValue );
10 }, [ debounceValue ] );
11
12 return (
13 <TextControl
14 { ...props }
15 value={ value }
16 onChange={ setValue }
17 />
18 );
19 }
20