首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在typescript中使用e.target.value

在typescript中使用e.target.value
EN

Stack Overflow用户
提问于 2021-11-05 00:47:18
回答 1查看 39关注 0票数 1

我是一个Reactjs开发人员,我正在学习typescript,我正在做这个项目与电影应用程序接口,所以对于我来说,能够构建到网站的搜索功能,我需要e.target.value,但typescript给我的错误,我不明白。因此,我将发布我的代码,并提前感谢您!

App.tsx

代码语言:javascript
复制
const [search, setSearch] = useState<iMovies['movie']>([])

const onChange = (e: React.ChangeEvent<HTMLInputElement>, value: any): void => {
e.preventDefault()
setSearch(e.target.value)
}

接下来,我将获取api并使用search状态/值将其放入api中,以便应用程序知道要搜索什么。

这就是错误

enter image description here

EN

回答 1

Stack Overflow用户

发布于 2021-11-05 03:10:12

我认为问题出在对React.useState钩子的误解上,而不一定是在onChange函数中使用e.target.value

React.useState持有IMovies['movie']的类型,它似乎是

代码语言:javascript
复制
type IMovies['movie'] = Array<{
  id: number;
  original_title: string;
  overview: string;
  poster_path: string;
  background_path: string;
}>;

您遇到了一个问题,比如试图将integer值放入string类型的变量中

代码语言:javascript
复制
const num: number = 'hello world!'; // ERROR: type string is not assignable to number

e.target.value的类型为string,并且不适合使用上述类型的React.useState的形状。

您应该更改React.useState以将string值保持在查询的状态中,或者应该在onChange函数中找到一种方法,将e.target.value转换为与当前React.useState匹配的类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69847468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档