1.ToolTip
import {useState,useRef} from 'react'; const ToolTip = (props) => { const TxtRef = useRef(); const TimeoutRef = useRef() const style = { bottom:{ position:'absolute', left:TxtRef.current && TxtRef.current.clientWidth, top:TxtRef.current && TxtRef.current.clientHeight, padding:'3px 6px', backgroundColor:'rgba(238, 239, 239,.6)', boxShadow:'0 0 2px #ccc', whiteSpace:'nowrap', fontSize:12, color:'#333' } }; const [bottom,setBottom] = useState(false) return ( <div style={{position:"relative",cursor:"pointer"}} onMouseEnter={()=>{ TimeoutRef.current = setTimeout(()=>{ setBottom(true) },1000) }} onMouseLeave={()=>{ console.log('让我康康',TxtRef.current.clientWidth); setBottom(false) clearTimeout(TimeoutRef.current) }} > <div style={bottom?{...style.bottom}:{display:'none'}} > {props.txt} </div> <div style={{...props.style}} ref={TxtRef} > {props.txt} </div> </div> ) }; export default ToolTip