typescript 类型any不能分配给类型never
作者:吴冬雪~
本文主要介绍了typescript 类型any不能分配给类型never,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一、问题
在处理接口返回的数据,赋值给store中的数组时,报类型错误
data:{
cateList: []
}
const getCateList = async () => {
const res = await fetchCateList() as any
if (res.code == 200) {
this.cateList = res.data
}二、原因
res已经定义了any类型,但是cateList的类型还没有定义,默认为never
三、解决
1、方式一 (TS断言 尖括号语法)
data: {
cateList: <any>[]
},2、方式二 (TS断言 as语法)
data: {
cateList: [] as any
},3、方式三 (TS接口 interface)
//接口返回的数据结构如下
res.data = [
{id:'1',name:'xxx',level:1},
{id:'2',name:'xxx',level:2},
{id:'3',name:'xxx',level:3}
]
//根据返回的数据结构定义对应的类型
interface ICateList {
id: string
name: string
level:number
}
data: {
cateList: [] as ICateList[],
},到此这篇关于typescript 类型any不能分配给类型never的文章就介绍到这了,更多相关typescript 类型报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
