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

// 定义数据

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

// 获取接口

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

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

阅读 1.9k
2 个回答

如果用了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...

新手上路,请多包涵

可以使用unknown, 不过any雀实是最简单粗暴的解决方案.(话说后台写接口不写接口文档的?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题