// 子组件
const TabItemChildren = forwardRef<RefHandle, ChildProps>((props, ref) = {})
RefHandle是子组件通过钩子useImperativeHandle中返回的对象类型声明,即抛给父组件中的ref上的属性的类型声明
为什么这个泛型是这样的, 这俩个泛型参数顺序不能更换, 我有点看不懂
// 子组件
const TabItemChildren = forwardRef<RefHandle, ChildProps>((props, ref) = {})
RefHandle是子组件通过钩子useImperativeHandle中返回的对象类型声明,即抛给父组件中的ref上的属性的类型声明
为什么这个泛型是这样的, 这俩个泛型参数顺序不能更换, 我有点看不懂
6 回答2.3k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
猜测应该是出于
props
可能不需要显示定义类型的考虑这是官方类型定义,可以看到
props
是可选的【默认{}】,可选的泛型只能放在后面,至于render
里为什么是props
在前,而不跟泛型一致,估计是因为先有的实现才加的类型吧。这方面的原因可能得翻看下git提交历史才能知道