File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import _ from 'lodash' ;
2- import React , { useState } from 'react' ;
2+ import React , { useMemo , useState } from 'react' ;
33import { Tooltip , TooltipProps } from '../../base' ;
44import { WHITE } from '../../theme' ;
55import { RenderMarkdownTooltip } from '../Markdown' ;
@@ -29,18 +29,22 @@ function CustomTooltip({
2929} : CustomTooltipProps ) : JSX . Element {
3030 const [ isOpen , setIsOpen ] = useState ( false ) ;
3131
32- const isTouchDevice = ( ) => {
32+ const isTouchDevice = useMemo ( ( ) => {
3333 return 'ontouchstart' in window || navigator . maxTouchPoints > 0 ;
34- } ;
34+ } , [ ] ) ;
3535
3636 const handleTouchStart = ( event : React . TouchEvent < HTMLDivElement > ) => {
3737 event . preventDefault ( ) ;
3838 setIsOpen ( true ) ;
3939 } ;
4040
41- const handleTouchEnd = ( ) => {
42- setTimeout ( ( ) => setIsOpen ( false ) , 1500 ) ;
43- } ;
41+ const handleTouchEnd = useMemo (
42+ ( ) =>
43+ _ . debounce ( ( ) => {
44+ setIsOpen ( false ) ;
45+ } , 1500 ) ,
46+ [ setIsOpen ]
47+ ) ;
4448
4549 return (
4650 < Tooltip
@@ -72,7 +76,7 @@ function CustomTooltip({
7276 } ,
7377 componentsProps
7478 ) }
75- open = { isTouchDevice ( ) ? isOpen : undefined }
79+ open = { isTouchDevice ? isOpen : undefined }
7680 title = { typeof title === 'string' ? < RenderMarkdownTooltip content = { title } /> : title }
7781 placement = { placement }
7882 arrow
You can’t perform that action at this time.
0 commit comments