1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 15:18:01 +00:00
Files
til/react/set-the-type-for-a-usestate-hook.md
2021-01-26 16:52:38 -06:00

816 B

Set The Type For A useState Hook

TypeScript can often infer the type of a useState hook. For instance, in the following example, TypeScript infers a type of boolean:

const [open, setOpen] = React.useState(false);

If we have a useState hook that can be null or a string:

const [error, setError] = React.useState(null);

setError('There was an error');
// Argument of type 'string' is not assignable
// to parameter of type 'SetStateAction<null>'

then we'll get a TypeScript warning when we violate the inferred type of SetStateAction<null>.

The useState can be appropriate typed for this situation like so:

const [error, setError] =
  React.useState<null | string>(null);

source