reactjs - Typ 'XXX' | undefined kan inte tilldelas typen 'XXX' | undefined
const textRef = useRef<string>(null); //ityped function https://www.npmjs.com/package/ityped
useEffect(() => { //render ityped function
init(textRef.current!, {
showCursor: true,
backDelay: 1500,
backSpeed:60,
strings: ["React Assignment by Phuc Le"],
});
}, []);
return (
<span className="ityped" ref={textRef}></span> //error here
)
när jag använder konvertera js till ts-fil, detta fel:
Type 'RefObject<string>' is not assignable to type 'LegacyRef<HTMLSpanElement> | undefined'.
Type 'RefObject<string>' is not assignable to type 'RefObject<HTMLSpanElement>'.
Type 'string' is not assignable to type 'HTMLSpanElement'.ts(2322)
index.d.ts(143, 9): The expected type comes from property 'ref' which is declared here on type 'DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>'
hände. Har någon stött på detta fel tidigare och hur åtgärdar man det?
Svar #1
Tja, du försöker tilldela ett HTMLSpanElement (eller med andra ord en instans av ett <span>-element) till en variabel som borde innehålla en string.
Ändra :
const textRef = useRef<string>(null);till :
const textRef = useRef<HTMLSpanElement | null>(null);