标签:IntrinsicElements 代码 大写字母 updateForm 报错 开头 组件 JSX UpdateForm
问题描述:
在使用 react 写项目时候遇到了一个错误。
Property ‘updateForm’ does not exist on type ‘JSX.IntrinsicElements’.
//UpdateForm 中代码:
const updateForm: FC<UpdateFormProps> = (props) => {
//业务逻辑省略
};
export default updateForm;
//父级引用代码:
import updateForm from './components/UpdateForm';
//其他代码省略
<updateForm />
原因分析:
在 react 官方文档中指明 用户定义的组件必须以大写字母开头
以小写字母开头的元素代表一个 HTML 内置组件,比如 <div> 或者 <span> 会生成相应的字符串 ‘div’ 或者 ‘span’ 传递给 React.createElement(作为参数)。大写字母开头的元素则对应着在 JavaScript 引入或自定义的组件,如 <Foo /> 会编译为 React.createElement(Foo)。
建议使用大写字母开头命名自定义组件。如果你确实需要一个以小写字母开头的组件,则在 JSX 中使用它之前,必须将它赋值给一个大写字母开头的变量。
解决方案:
将代码中的标签首字母修改为大写,如下:
//UpdateForm 中代码:
const UpdateForm: FC<UpdateFormProps> = (props) => {
//业务逻辑省略
};
export default UpdateForm;
//父级引用代码:
import UpdateForm './components/UpdateForm';
//其他代码省略
<UpdateForm/>
标签:IntrinsicElements,代码,大写字母,updateForm,报错,开头,组件,JSX,UpdateForm 来源: https://blog.csdn.net/skaier/article/details/117191464
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。