export const useArray = <T>(initData:T) => {
}
这个函数卸载ts中没有问题,但是卸载tsx中就报语法错误?在tsx中泛型该如何写?
------------------------------分割-------------------------
export const useArray = <T>(initData:T) => {
}
这个函数卸载ts中没有问题,但是卸载tsx中就报语法错误?在tsx中泛型该如何写?
------------------------------分割-------------------------
13 回答12.7k 阅读
8 回答2.4k 阅读
2 回答5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答754 阅读
3 回答2.1k 阅读
2 回答1.5k 阅读✓ 已解决
类型系统总是指导代码“某个变量是某个类型的”,因此你只能指导useArray是什么类型的。箭头函数在这里相当于一个字面量值,这个值满不满足被赋值变量的类型才是关键。
==== 分割线 ====
泛型相当于扩大了类型的包容性
类型约束变量,给变量赋的值要遵循变量的类型
你的类型还是 => void,实际却返回了一个对象就已经跑偏了。并且只要不是定义的地方,施加泛型类型约束都是有问题的。或者你可以摆脱变量赋值的黑洞,