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

TypeScript中如何解决组件直接用业务类型报IntrinsicAttributes错误的问题

报错原因

React 组件的第一个入参永远是所有传入属性组成的 props 对象。你调用组件时写的 <AuctionCardGenerator auction={auction} /> 实际传入组件的是 { auction: 你的auction变量 } 这个对象,你原来的写法是从props对象中解构出auction字段,类型匹配。改写后你直接把入参声明为randomAuctionType,和实际传入的props对象类型不匹配,所以触发报错。

简单规避方法

不需要单独定义auctionType接口,直接内联声明props类型即可,有两种常用写法:

  • 保持解构用法,组件内部逻辑无需修改
const AuctionCardGenerator = ({ auction }: { auction: randomAuctionType }) => {
  // 原有逻辑保持不变
}
  • 不需要解构的写法,使用时加props前缀即可
const AuctionCardGenerator = (props: { auction: randomAuctionType }) => {
  // 访问属性写法示例:const title = props.auction.title
}

如果项目中习惯用React.FC定义函数组件,也可以用这种写法:

const AuctionCardGenerator: React.FC<{ auction: randomAuctionType }> = ({ auction }) => {
  // 原有逻辑保持不变
}

内容的提问来源于stack exchange,提问作者김일혁

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:57:03