reactjs - 使用 useRef 修改样式时出现打字稿错误
问题描述
以下是我的tsx
文件。以下代码在 plain 中运行良好js
。我正在尝试将我的项目迁移到打字稿。
import React, { useRef } from "react";
const HomeHeader = (): JSX.Element => {
const headerRef = useRef<HTMLDivElement>(null);
const handleScroll = () => {
if (headerRef.current) {
try {
const offset = window.pageYOffset;
const base = headerRef.current.children;
base[0].style.backgroundPositionY = offset * 0.2 + "px";
} catch (e) {
console.warn("Error");
}
}
};
window.addEventListener("scroll", handleScroll);
return (
<header>
<div className="header--home" ref={headerRef}>
<div className="header--home-overlay" />
</header>
);
};
export default HomeHeader;
我怎样才能解决这个问题?
解决方案
我相信您需要将其类型转换为 HTMLElement。
const x = base as HTMLCollectionOf<HTMLElement>
推荐阅读
- kubernetes - Openshift:如何删除或管理特定的 Pod
- wso2 - WSO2 Api Manager RestApiAdmin wsdl 使用
- java - PIG - org.apache.hadoop.hdfs.DataStreamer - DataStreamer 异常 java.nio.channels.ClosedByInterruptException
- python - 蓝牙输入形成无线设备
- kubernetes - OpenShift 3.11 中的健康检查修改
- arrays - 如果我将 char 数组初始化为零/{0},我是否必须 null 终止?
- javascript - 如何使用 html 和 json 文件创建自定义模块?
- sas - 日期的 SAS 全局变量
- excel - 使用 Excel VBA 向多个用户发送电子邮件,并在表格中提供相应信息
- python - 拆分嵌入到数据框熊猫列表值列中的字典