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