首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React TS传播运算符

React TS传播运算符
EN

Stack Overflow用户
提问于 2020-08-30 23:34:46
回答 1查看 93关注 0票数 0

我的目标是将新项目(查询)扩展到dataList。它是功能组件。

代码语言:javascript
运行
复制
const [dataList, setDataList] = useState([]);

  const transferData = (query: string) => {
    setDataList([...dataList, query]);
  };

代码是用React Typescript编写的,而我的编辑正在大喊大叫:

代码语言:javascript
运行
复制
Argument of type 'string[]' is not assignable to parameter of type 'SetStateAction<never[]>'.
  Type 'string[]' is not assignable to type 'never[]'.
    Type 'string' is not assignable to type 'never'.

Typescript对我来说是一个全新的功能,所以我不知道如何修复它,也不知道它意味着什么。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-08-30 23:36:47

您必须:

代码语言:javascript
运行
复制
const [dataList, setDataList] = useState([]);

这是一个空数组,并且您没有使用任何类型参数,因此dataList的类型为Array<never> (而setDataList只能接受相同类型的参数:Array<never>)。

由于您将使用字符串填充数组,因此当您调用useState时,需要告诉TS

代码语言:javascript
运行
复制
const [dataList, setDataList] = useState<Array<string>>([]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63659111

复制
相关文章

相似问题

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