TypeScript+NextJS中IntrinsicAttributes组件传参错误求助
问题解答
这个错误确实是组件Props声明的问题,原因很明确:
你向EditCategoryForm组件传递了category属性,但该组件没有显式定义这个自定义Props的类型,TypeScript会默认将组件的Props类型限定为React内置的IntrinsicAttributes(仅包含key、ref这类基础属性),因此无法识别你传入的category属性,从而抛出类型不匹配的错误。
解决方法
给组件显式定义Props类型
在EditCategoryForm组件文件中,明确声明包含category字段的Props类型,关联你定义的Category类型:// 导入你的Category类型 import { Category } from '../path-to-your-type-definition'; // 定义组件的Props类型 type EditCategoryFormProps = { category: Category; }; // 组件接收Props并指定类型 export default function EditCategoryForm({ category }: EditCategoryFormProps) { // 你的表单逻辑代码 }检查类型的导入导出
确保Category类型已经正确导出,并且在组件文件中导入路径无误,避免因类型未加载导致的隐性错误。(可选)如果使用
FC类型定义组件
若你习惯用React.FC来定义组件,需将Props类型传入泛型参数:import { FC } from 'react'; import { Category } from '../path-to-your-type-definition'; type EditCategoryFormProps = { category: Category; }; const EditCategoryForm: FC<EditCategoryFormProps> = ({ category }) => { // 你的表单逻辑代码 }; export default EditCategoryForm;
内容的提问来源于stack exchange,提问作者asasin
相关产品推荐
相关产品推荐

