登录
首页 >  文章 >  前端

React组件命名必须大写才能正确使用?

时间:2026-02-12 10:13:22 176浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《React组件首字母大写才能正确渲染?》,很明显是关于文章的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

React 组件命名规范:首字母大写才能正确渲染

React 要求自定义组件名必须以大写字母开头,否则 JSX 会将其识别为原生 HTML 标签(如 `` 被当作 `` 未知标签处理),导致组件不渲染且无报错提示。修正命名并修复拼写错误后即可正常显示。

在 React 中,JSX 对组件名称的大小写极为敏感——这是初学者最容易忽略却影响最直接的规则之一。当你定义 function bannner() { ... } 并在 JSX 中写成 ,React 会将其解析为一个小写 DOM 标签(类似

),而非你期望的自定义组件。由于浏览器不存在 这个原生标签,最终渲染结果为空白,控制台也通常不会抛出明显错误,造成“代码运行无反应”的困惑。

✅ 正确做法是:所有自定义组件名首字母必须大写(如 Banner, Cart),这是 React 的强制约定,也是 JSX 编译器识别组件的关键依据。

此外,原始代码中还存在两处关键问题需同步修复:

  • 拼写错误:pixhero 应为 prixhero(变量声明与使用需一致);
  • JSX 语法细节:

    {title}

    等返回语句无需括号包裹(虽非错误,但推荐简洁写法);
    • 必须闭合,且嵌套结构需保持合法 HTML 语义。

    以下是修正后的完整可运行代码:

    function Banner() {
      const title = "c'est pur ?";
      return <h1>{title}</h1>;
    }
    
    function Cart() {
      const prixbedo = 10;
      const prixhero = 20;  // ✅ 修正变量名拼写(原代码中误写为 pixhero)
      const prixcoc = 70;
      return (
        <div>
          <h2>Panier</h2>
          <ul>
            <li>bedo : {prixbedo}$</li>
            <li>heroïne : {prixhero}$</li>
            <li>cocaïne : {prixcoc}$</li>
          </ul>
        </div>
      );
    }
    
    ReactDOM.render(
      <div>
        <Banner />
        <Cart />
      </div>,
      document.getElementById("root")
    );

    ⚠️ 注意事项:

    • 确保 HTML 文件中已正确引入 React、ReactDOM 及 Babel(用于 JSX 转译),例如通过 CDN:
      <script src="https://unpkg.com/react@18/umd/react.development.js"></script>
      <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
      <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
最新阅读
更多>
课程推荐
更多>
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    立即学习 543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    立即学习 516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    立即学习 500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    立即学习 487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    立即学习 485次学习