TS不能将类型“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[], },

__EOF__

本文作者杨芋可可
本文链接https://www.cnblogs.com/yangyukeke/p/16936550.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   杨芋可可  阅读(2902)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示