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

求助:TypeScript报错post属性不存在于IntrinsicAttributes类型

解决Next.js中TypeScript错误:属性'post'不存在于类型'IntrinsicAttributes'

错误原因

你在Home组件中给PostCard传入了post属性,但PostCard组件未显式定义接收该属性的类型,TypeScript默认认为组件只能接受HTML元素的固有属性(IntrinsicAttributes),因此抛出类型不匹配的错误。

解决方案

需要在PostCard组件文件中,为组件的props定义类型,明确声明它可以接收post属性:

步骤1:为PostCard组件添加类型约束

打开../components/PostCard.tsx(对应组件文件),添加类型定义并约束组件props:

import React from 'react';

// 定义单条文章的数据结构
type Post = {
  title: string;
  excerpt: string;
};

// 定义PostCard组件的Props类型
type PostCardProps = {
  post: Post;
};

// 组件接收props并应用类型约束
const PostCard = ({ post }: PostCardProps) => {
  return (
    <div className="post-card">
      <h2>{post.title}</h2>
      <p>{post.excerpt}</p>
    </div>
  );
};

// 保持导出方式与Home组件的导入一致(命名导出)
export { PostCard };

步骤2:确保组件导出与导入匹配

如果你的../components目录有index.ts统一管理组件导出,需要在其中补充:

export { PostCard } from './PostCard';
export { Categories } from './Categories';
export { PostWidget } from './PostWidget';

完成以上修改后,TypeScript就能识别PostCard组件允许接收post属性,错误会自动消除。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:35:39