下面的代码有什么问题?我在使用useState时收到打字稿警告
import * as React, { useState } from 'react'
const useForm = (callback: any | undefined) => {
const [inputs, setInputs] = useState({}) //error: Cannot find name 'useState'.ts(2304)
const handleInputChange = event => {
event.persist()
setInputs(inputs => ({
...inputs,
[event.target.name]: event.target.value,
}))
}
return {
handleInputChange,
inputs,
}
}
export default useForm
https://codesandbox.io/s/react-typescript-starter-lmub8
最佳答案
您的导入声明无效。
您可以将所有内容都导入为React
,如下所示:
import * as React from 'react';
以及来自
useState
对象的访问React
: const [inputs, setInputs] = React.useState({})
或导入
React
作为默认名称,而仅部分导入其他名称:import React, { useState } from 'react'
和以前一样使用
useState
:const [inputs, setInputs] = useState({});
关于javascript - 不能将useState与 typescript 一起使用(找不到名称“useState”),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60754963/