TypeScript/React:RefObject<HTMLElement> 数据类型指的是什么?
TypeScript/React: what does the RefObject<HTMLElement> datatype refer to?
我对 React 和 TypeScript 还很陌生,需要为一些前端代码编写测试用例。
在我要测试的组件的 DTO 中,有一个以“RefObject”作为数据类型定义的道具属性。我唯一能找到的是它可能与 useRef 挂钩有关,但我无法进一步了解。为了测试组件,我需要为道具定义一些样本数据,当我真的不知道应该在其中传递什么样的数据时,这有点困难。如果有解释和要传递的数据示例,我将不胜感激,因为有更多组件需要测试以实现此数据类型
正如您已经假设的那样,RefObject<T>
是 useRef<T>()
的 return 类型。类型定义如下:
interface RefObject<T> {
readonly current: T;
}
您尝试测试的组件很可能会将此 属性 的 current
属性 设置为 HTMLElement
,如给定的泛型所示。这意味着为了模拟道具,您只需传递以下内容:
myProp={{ current: null } as RefObject<HTMLElement>}
您可能需要额外强制转换为 unknown
或将 RefObject<HTMLElement>
替换为 RefObject<HTMLElement | null>
以防 TypeScript 在这样做时抱怨。
我对 React 和 TypeScript 还很陌生,需要为一些前端代码编写测试用例。 在我要测试的组件的 DTO 中,有一个以“RefObject”作为数据类型定义的道具属性。我唯一能找到的是它可能与 useRef 挂钩有关,但我无法进一步了解。为了测试组件,我需要为道具定义一些样本数据,当我真的不知道应该在其中传递什么样的数据时,这有点困难。如果有解释和要传递的数据示例,我将不胜感激,因为有更多组件需要测试以实现此数据类型
正如您已经假设的那样,RefObject<T>
是 useRef<T>()
的 return 类型。类型定义如下:
interface RefObject<T> {
readonly current: T;
}
您尝试测试的组件很可能会将此 属性 的 current
属性 设置为 HTMLElement
,如给定的泛型所示。这意味着为了模拟道具,您只需传递以下内容:
myProp={{ current: null } as RefObject<HTMLElement>}
您可能需要额外强制转换为 unknown
或将 RefObject<HTMLElement>
替换为 RefObject<HTMLElement | null>
以防 TypeScript 在这样做时抱怨。