as const 的详细解释我就不写了,点进去参考文献即可。
总结 | 作用 : xxxxxxx(等评论大神总结) ;
as const 常用于react的自定义hook函数里面,用于函数 return [ state , setState ] as const , 把 数组类型 变为 元组类型 。
--------------------------------------------------------
tip: 为什么需要as const呢上面? 因为,如果直接return出去我们会发现上面 Hook 的返回值的类型被推导成了如下的数组类型:
(S | ((nextState: S) => S))[]
------------------下面记录一些常见的TS知识---------------------------------------
元组(tuple)和数组的区别
元组: 限定数据类型的数组,数组个数,每一个数据类型都必须一一对应
例子 : let user: [string, number] = ['viking', 20]
数组:
例子:
let arr: (number | string)[] = [1, '2', 3]
let arrOfNumbers: number[] = [1, 2, 3]
联合类型 (Unio Types) 表示 值可以是多种类型中的一种
(类型声明做法) let val :string | number | null
---------------------------------------
类型声明 和 类型断言
const useRenderlessState = (initialState: S): [S, (nextValue: S) => S] => {/*...*/}
- const useRenderlessState =
(initialState: S) => { - // ...
- return [state, setState] as [typeof value, typeof setValue];
- }