【发布时间】:2021-07-01 22:06:22
【问题描述】:
我正在尝试将 useRef 与 TypeScript 一起使用,但遇到了一些问题。
使用我的RefObject(我假设)我需要访问current。 (即node.current)
我已经尝试了以下
const node: RefObject<HTMLElement> = useRef(null);const node = useRef<HTMLElement | null>(null);
但是当我去设置 ref 时,我总是被告知 X is not assignable to type 'LegacyRef<HTMLDivElement> | undefined'.
return <div ref={ node }>{ children }</div>
编辑:这不应仅限于任何一种类型的元素,而不仅仅是HTMLDivElement | HTMLFormElement | HTMLInputElement
编辑:这应该是一个例子
import React, { useRef, RefObject } from 'react';
function Test()
{
// const node = useRef(null);
// const node: RefObject<HTMLElement> = useRef(null);
const node = useRef<HTMLElement | null>(null);
if (
node &&
node.current &&
node.current.contains()
){ console.log("current accessed")}
return <div ref={ node }></div>
}
【问题讨论】:
-
olease 提供可重现的示例
-
@captain-yossarian 请查看最新编辑
标签: reactjs typescript tsx