如何在`React.useState`中添加类型符号?

时间:2019-03-05 10:10:22

标签: javascript reactjs typescript react-hooks

我正在使用带有钩子的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 个答案:

答案 0 :(得分:2)

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>>];