如何向 React.useState 添加类型表示法?
Posted
技术标签:
【中文标题】如何向 React.useState 添加类型表示法?【英文标题】:How to add type notation to `React.useState`? 【发布时间】:2019-07-26 18:32:59 【问题描述】:我正在使用带有钩子的 React 16.8.3,目前我想输入 React.useState
type Mode = 'confirm' | 'deny'
type Option = Number | null
const [mode, setMode] = React.useState('confirm')
const [option, setOption] = React.useState(100)
使用我当前的代码,mode
的类型是 string
,而我想要的是 Mode
类型。 Option
也有同样的问题。
如何给React.useState
添加类型符号?
【问题讨论】:
【参考方案1】:React.useState
使用泛型,因此您可以通过这种方式为其添加类型表示法:
const [mode, setMode] = React.useState<Mode>('confirm')
const [option, setOption] = React.useState<Option>(100)
仅供参考...React.useState
的类型定义:
function useState<S>(initialState: S | (() => S)): [S, Dispatch<SetStateAction<S>>];
【讨论】:
以上是关于如何向 React.useState 添加类型表示法?的主要内容,如果未能解决你的问题,请参考以下文章
具有 React useState 设置功能的打字稿类型的 Ramda 镜头组合
React hooks - 如何测试多个 useState hooks
React useState 挂钩错误:“xxx”类型的参数不可分配给“SetStateAction<xx>”类型的参数