1. 使用TS的时候,axios( ) 调用需要改为 axios.request( )

2. 这里 axios 已经内置了一些类型声明,见下图:

3. 我们给接口的返回数据定义泛型,这里接收的泛型参数,就是 res.data 值的类型参数,这里打印一下 res.data

4. 在 axios.request 后面配置泛型:

interface ChannelItem {
  id: number
  name: string
}

interface Channels {
  data: {
    channels: ChannelItem[]
  },
  message: string
}

// 接收的泛型参数 - 就是res.data值的类型参数
axios.request<Channels>({
  url: '...'
}).then(res => {
  // ChannelItem数组
  console.log(res.data.data.channels)
  // message字符串
  console.log(res.data.message)
})

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐