如何在 React 中正确使用 typescript 的 useState hook?

Bud*_*998 5 typescript reactjs react-hooks use-state

我正在尝试制作一个与打字稿反应的登录表单。但 setEmail 方法不接受值。它说“字符串”类型的参数不能分配给“SetStateAction”类型的参数。我应该怎么做才能解决它?

在此输入图像描述

Yoe*_*oel 13

您可以为其设置字符串类型

显式方式

const [email, setEmail] = useState<string>('')
Run Code Online (Sandbox Code Playgroud)

隐式方式

const [email, setEmail] = useState('')
Run Code Online (Sandbox Code Playgroud)

或者如果你想设置数字类型

const [inputNumber, setInputNumber] = useState<number>(0);
Run Code Online (Sandbox Code Playgroud)

然后jsx,这样做

<input
  type="number"
  value={inputNumber}
  onChange={(val) => {
    //Some ways to do this
    setInputNumber(Number(val.target.value));
    setInputNumber(+val.target.value);
    setInputNumber(parseInt(val.target.value,0));
  }}
/>
Run Code Online (Sandbox Code Playgroud)

查看更多示例