Как добавить обозначение типа в `React.useState`?

Я использую 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?


person Radex    schedule 05.03.2019    source источник


Ответы (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>>];

person GibboK    schedule 05.03.2019