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

React Native(TypeScript)中如何将数组转换为FAQInterface[]类型?

解决TypeScript中Mock数据转自定义接口数组的问题

其实你的场景处理起来很直观,因为getMockFAQ()返回的每一项结构都完全匹配FAQInterface的定义,这里给你几种实用的处理方式:

  • 直接给变量标注类型
    在声明data时明确指定它的类型为FAQInterface[],TypeScript会自动校验返回数据是否符合接口要求:

    const data: FAQInterface[] = getMockFAQ();
    
  • 给函数指定返回类型(更推荐)
    直接修改getMockFAQ函数,让它明确返回FAQInterface[]类型。这样后续每次调用这个函数时,返回结果都会自动被推断为目标类型,无需再手动标注:

    export function getMockFAQ(): FAQInterface[] {
      return [ 
        { title: "FAQ Question 1" }, 
        { title: "FAQ Question 1" }, 
        { title: "FAQ Question 1" } 
      ];
    }
    
    // 调用时直接使用,data自动是FAQInterface[]类型
    const data = getMockFAQ();
    
  • 类型断言(特殊场景使用)
    如果遇到TypeScript无法自动推断,但你能确定数据结构完全匹配的情况,可以用类型断言强制转换:

    const data = getMockFAQ() as FAQInterface[];
    

    注意:这种方式会跳过TypeScript的类型检查,如果实际数据和接口不匹配,运行时可能出现异常,所以优先选择前两种方法。

内容的提问来源于stack exchange,提问作者Flávio Costa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:19:56