vue中使用typescript不知道后台返回数据里面有什么,是不是只能用any类型?

作者站长头像
站长
· 阅读数 8

// 定义数据

const State = reactive({
  tableData: [] as [],
})

// 获取接口

$http.get('/getlist')
.then((res: any)=>{
    State.tableData = res.data.data;
})

请问这样子声明数据类型和赋值合不合理?

回复
1个回答
avatar
test
2024-07-15

如果用了TS,能不用any就不用any。建议后端使用类似swagger UI这样的api文档,你在vscode中下载JSON TO TS这个扩展。在swagger UI中拿到JSON数据后使用ctrl+shift+alt+v能够直接拿到一个interface(通常情况下类型或者接口会单独放在一个文件下)。然后你再使用这个接口,比如:

const State = reactive({
  tableData: [] as TableData[],
})

另外,建议axios封装一下,网上有许多这方面的文章。最后,你之前的代码写的as []没这个必要。感觉你的TS基础不算牢固,推荐兄弟你去看看我关于TS的一些文章:https://juejin.cn/column/7163...

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容