Как добавить обозначение типа в `React.useState`? - PullRequest
1 голос
/ 05 марта 2019

Я использую 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 Ответ

3 голосов
/ 05 марта 2019

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

...