是因为useRef返回的ref对象的类型默认为React.MutableRefObject<T | null>,而不是HTMLElement类型。因此,在使用useRef修改样式时,需要进行类型断言或者使用as关键字将ref对象的类型指定为HTMLElement类型。
例如,假设我们要修改一个按钮的样式,可以按照以下步骤进行操作:
import React, { useRef } from 'react';
const buttonRef = useRef<HTMLButtonElement>(null);
<button ref={buttonRef as React.RefObject<HTMLButtonElement>} onClick={handleClick}>
Click me
</button>
const handleClick = () => {
if (buttonRef.current) {
buttonRef.current.style.backgroundColor = 'red';
}
};
这样,就可以使用useRef修改样式而不会出现Typescript错误了。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云函数(SCF)。
领取专属 10元无门槛券
手把手带您无忧上云