@@ -5,12 +5,11 @@ import _ from 'lodash';
55import useCancelToken from 'react-use-cancel-token' ;
66
77const App = ( ) => {
8- const [ search , setSearch ] = React . useState ( '' ) ;
98 const [ searching , setSearching ] = React . useState ( false ) ;
109 const [ result , setResult ] = React . useState ( 'No results.' ) ;
1110 const { newCancelToken, cancelPreviousRequest, isCancel } = useCancelToken ( ) ;
1211
13- const performSearch = async ( keywords = search ) => {
12+ const performSearch = async ( keywords ) => {
1413 cancelPreviousRequest ( ) ;
1514 setSearching ( true ) ;
1615
@@ -34,14 +33,10 @@ const App = () => {
3433 setSearching ( false ) ;
3534 } ;
3635
37- const delayedSearch = React . useCallback (
38- _ . debounce ( ( value ) => performSearch ( value ) , 700 ) ,
39- [ performSearch ]
40- ) ;
36+ const delayedSearch = React . useCallback ( _ . debounce ( performSearch , 400 ) , [ performSearch ] ) ;
4137
42- const handleInputChange = ( event ) => {
38+ const handleChange = ( event ) => {
4339 const { value } = event . target ;
44- setSearch ( value ) ;
4540 delayedSearch ( value ) ;
4641 } ;
4742
@@ -50,9 +45,16 @@ const App = () => {
5045 setSearching ( false ) ;
5146 } ;
5247
48+ const handleKeyDown = ( event ) => {
49+ const { value } = event . target ;
50+ if ( event . key === 'Enter' ) {
51+ performSearch ( value ) ;
52+ }
53+ } ;
54+
5355 return (
5456 < >
55- < input type = "text" placeholder = "Search..." value = { search } onChange = { handleInputChange } />
57+ < input type = "text" placeholder = "Search..." onChange = { handleChange } onKeyDown = { handleKeyDown } />
5658 < button onClick = { handleCancel } disabled = { ! searching } >
5759 Cancel
5860 </ button >
@@ -66,7 +68,9 @@ const App = () => {
6668 < ul >
6769 { result . map ( ( item , index ) => (
6870 < li key = { index } >
69- < a href = { item . html_url } target = "_blank" rel = "noopener noreferrer" > { item . name } </ a >
71+ < a href = { item . html_url } target = "_blank" rel = "noopener noreferrer" >
72+ { item . name }
73+ </ a >
7074 </ li >
7175 ) ) }
7276 </ ul >
0 commit comments