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
相关产品推荐
相关产品推荐

