正文从这开始~

总览

当组件名称以小写字母开头时,会导致"Property does not exist on type 'JSX.IntrinsicElements'"错误。为了解决该错误,确保组件名称总是以大写字母开头,安装React声明文件并重启你的开发服务器。

这里有个示例用来展示错误是如何发生的。

// App.tsx

// ️ name starts with lowercase letter
function myComponent() {
return <h1>Hello world</h1>;
} function App() {
return (
<div>
{/* ️ Property does not exist on type 'JSX.IntrinsicElements'. */}
<myComponent />
</div>
);
} export default App;

上述代码片段的问题在于,myComponent是以小写字母开头的。

组件大写

为了解决该问题,请确保所有的组件名称均以大写字母开头。

// App.tsx

function MyComponent() {
return <h1>Hello world</h1>;
} function App() {
return (
<div>
<MyComponent />
</div>
);
} export default App;

React使用这种命名惯例来区分pdivspan等内置元素和我们定义的自定义组件。

如果错误仍未解决,尝试重启IDE和开发服务器。

类型声明

如果那都没有帮助,确保安装了react的类型声明文件。在项目的根目录下打开终端,并运行下面的命令:

# ️ with NPM
npm install --save-dev @types/react @types/react-dom # ---------------------------------------------- # ️ with YARN
yarn add @types/react @types/react-dom --dev

如果错误仍未解决,尝试删除node_modules以及package-lock.json(不是package.json)文件,重新运行npm install并重启IDE。

# ️ delete node_modules and package-lock.json
rm -rf node_modules
rm -f package-lock.json # ️ clean npm cache
npm cache clean --force npm install

如果错误仍然存在,请确保重新启动你的IDE和开发服务器。VSCode经常出现故障,重启有时会解决一些问题。

总结

导致该问题的原因是因为自定义组件没有以大写字母开头,因为React是通过这种方式来区分内置元素和自定义组件。

React报错之Property does not exist on type 'JSX.IntrinsicElements'的更多相关文章

  1. React报错之Property 'X' does not exist on type 'HTMLElement'

    正文从这开始~ 总览 在React中,当我们试图访问类型为HTMLElement 的元素上不存在的属性时,就会发生Property 'X' does not exist on type 'HTMLEl ...

  2. React报错之Property 'value' does not exist on type 'HTMLElement'

    正文从这开始~ 总览 当我们试图访问一个类型为HTMLElement的元素上的value属性时,会产生"Property 'value' does not exist on type 'HT ...

  3. React报错之Property 'value' does not exist on type EventTarget

    正文从这开始~ 总览 当event参数的类型不正确时,会产生"Property 'value' does not exist on type EventTarget"错误.为了解决 ...

  4. jstl报错:Property 'name' not found on type java.lang.String

    <c:forEach items='${navigationMenus}' var="navigationMenu" >                         ...

  5. react 报错的堆栈处理

    react报错 Warning: You cannot PUSH the same path using hash history 在Link上使用replace 原文地址https://reactt ...

  6. elasticsearch查询:启动项目报错No property ... found for...Did you mean '...'?

    网上找的案例是: 实体类字段定义:private String sku_no;dao中接口名定义:Goods findBySkuNo(String skuNo);spring-data按照接口方法定义 ...

  7. TypeScript 错误property does not exist on type Object

    TypeScript 错误property does not exist on type Object 在TypeScript中如果按JS的方式去获取对象属性,有时会提示形如Property 'val ...

  8. windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help

    windows 8 安装 oracle 11g 报错:command line option syntax error,type command/? for help 在windows8操作系统上安装 ...

  9. 运行报错:java.io.IOException: invalid constant type: 15

    jdk,tomcat更新到jdk1.8与 tomcat8 运行报错:java.io.IOException: invalid constant type: 15 pom.xml文件中更新javassi ...

  10. MyEclipse上有main函数类运行报错:Editor does not contain a main type

    MyEclipse下有main函数类运行报错:Editor does not contain a main type 出现这种问题的原因是,该java文件所在的包没有被MyEclipse认定为源码包. ...

随机推荐

  1. Scrapy-settings.py常规配置

    # Scrapy settings for scrapy_demo project # # For simplicity, this file contains only settings consi ...

  2. 关于SpringBoot中出现的循环依赖问题

    环境: SpringBoot2.7.8 背景: 在增加出库订单时需要对物品表的的数量进行修改 因此我在OutboundController中创建了几个公共方法,并将其注入到Spring中,结果给我报了 ...

  3. RocketMQ 的基本使用

    RocketMQwiki是一个分布式消息和流数据平台,具有低延迟.高性能.高可靠性.万亿级容量和灵活的可扩展性.RocketMQ是2012年阿里巴巴开源的第三代分布式消息中间件,2016年11月21日 ...

  4. 前端系列:基于 Flex 弹性布局详解

    目录 基本介绍 基本概念 父项常见属性 flex-direction justify-content flex-wrap align-items align-content flex-flow 子项常 ...

  5. react 事件函数中 this 绑定问题

    在使用类方式创建组件时,类中定义一个函数,并且绑定到元素的点击事件上,此时这个函数中this指向并不是当前这个组件. 组件代码如下: class App extends React.Component ...

  6. JavaScript异步编程4——Promise错误处理

    目录 1. 概述 2. 详论 3. 参考 1. 概述 在上一篇文章<JavaScript异步编程3--Promise的链式使用>中,通过Promise的链式使用,避免程序中多次嵌套回调(回 ...

  7. vscode 启动go

    { "version": "0.2.0", "configurations": [ { "name": "La ...

  8. 想了解Webpack,看这篇就够了

    摘要:Webpack是一种前端资源构建工具,一个静态模块打包器. 1. 摘要 Webpack是一种前端资源构建工具,一个静态模块打包器.在Webpack看来,前端的所有资源文件(js/json/css ...

  9. 划重点!DWS开发的五大要点

    摘要:高效使用数据库是一个合格的开发工程师的必备技能,如何使用DWS进行高效开发,提升应用效率,技术干货来喽~~~ 高效使用数据库是一个合格的开发工程师的必备技能,如何使用DWS进行高效开发,提升应用 ...

  10. 教你处理数仓慢SQL常见定位问题

    摘要:通常在运维监控出现CPU使用率较高.P80/P95指标较高.慢SQL数量上升等现象,或者业务出现超时报错时,优先应排查是否出现慢SQL. 本文分享自华为云社区<GaussDB慢SQL常见定 ...