You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJs中Axios响应报Property 'sliders' does not exist on type 'never'.ts(2339)

问题原因

该报错属于TypeScript静态类型校验提示,不影响代码实际运行。Axios默认无法感知你请求的后端接口返回数据结构,会将response.data的类型推断为never,因此访问sliders字段时编辑器会触发字段不存在的报错。运行时JavaScript不会做类型校验,只要接口实际返回了对应字段就可以正常获取数据。
另外你代码中const data = await response.data;的await是多余的,你已经通过await axios.get()拿到了完整响应对象,response.data是同步可获取的普通对象,无需额外await。

解决方案
  • 方案1:快速临时解决,使用类型断言
    直接将response.data断言为any类型即可跳过类型校验:
    const data = response.data as any;
    
  • 方案2:规范类型定义(推荐)
    先定义接口返回的数据结构,再给axios请求指定泛型:
    // 定义接口返回数据的类型,可根据实际返回字段补全
    interface ResData {
      sliders: any[] // 也可以继续写清sliders内部每个元素的字段类型
    }
    
    // 请求时传入泛型
    const response = await axios.get<ResData>(urlGenerator("api/v1/frontend-configuration"));
    const data = response.data;
    
    此时TypeScript会自动识别data的类型为你定义的ResData,访问sliders字段不会再触发报错。
  • 方案3:全局配置axios返回类型为any
    如果项目不需要严格的接口返回类型校验,可以在全局axios配置文件中添加类型声明,让所有axios请求的返回数据默认是any类型:
    declare module 'axios' {
      export interface AxiosResponse<T = any> {
        data: T
      }
    }
    

内容的提问来源于stack exchange,提问作者Ishrat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:45:07