reactjs - 使用数组解构时保留挂钩类型
问题描述
我正在研究一个简单的钩子来导出动画助手和元素参考,即
import { gsap } from 'gsap';
import { useRef } from 'react';
export function useTween<R extends gsap.TweenTarget>(vars: gsap.TweenVars['pixi']) {
const tweenRef = useRef<R>(null);
const tween = gsap.to(tweenRef.current, { pixi: vars });
return [tween, tweenRef];
}
这里重要的是返回的数组具有类型,但是当我在另一个组件中使用它时,即
const [textTween, textRef] = useTween<Text>({ scale: 2 });
现在textTween
和textRef
两者都有类型any
,我的印象是这些类型会被保留,但是我在这里遗漏了什么吗?
解决方案
您忘记指定函数的返回类型:
export function useTween<R extends gsap.TweenTarget>(vars: gsap.TweenVars['pixi']): [gsap.TweenTarget, gsap.TweenTarget] {
推荐阅读
- java - 使用 reduce 方法在 Stream 中添加 BigDecimal
- node.js - 模板中的 Docusign 文本选项卡未填充
- spring - 同一轮询中多条记录的 Spring Kafka 错误处理
- c# - 按照提供的字符串中出现的顺序从字符串列表中获取元素
- python - 带有年份键的列表列表中的字典字典
- c# - WinForms在表单之间切换内存问题
- c# - 如何在 C# 中为类似的用户 ID 请求锁定?
- excel - 有没有办法使用 Delete 键从列表框中删除选定的项目?
- swift - ProgressBar 使用两个整数
- python - 将pyarmor转换为exe