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

React页面与组件命名规则差异及小写组件命名报错疑问

React组件首字母大小写报错问题解析

React在JSX语法里有个硬性规则:自定义组件的名称必须首字母大写,否则会被识别为HTML原生标签,而原生标签里不存在signin这类标签,所以会触发报错。

为什么教程里可以用小写?

大概率是这几种情况:

  • 教程作者没有用JSX标签的方式调用组件,而是直接把它当普通函数执行,比如写{signin()}而不是<signin/>,这种调用方式不需要首字母大写。
  • 教程用的是非常老旧的React版本(v0.12及更早),当时还没引入首字母大写的规范,现在的React版本(v0.13+)都严格执行这个规则了。
  • 可能你看错了,教程里的组件变量名其实是大写的(比如Signin),只是文件名用了小写——文件名的大小写不影响React的识别,它只关心你定义的组件变量名。

解决方法

最规范的做法是遵循React的要求,把组件名改成首字母大写:

// 文件名可以保持signin.js不变
import React from 'react'

const Signin = () => {
    return (
        <></>
    )
}

export default Signin

导入和调用时也用大写:

import Signin from "./signin";

// 在JSX中使用
<Signin />

如果非要保留小写变量名,那调用时不要用JSX标签,直接执行函数:

import signin from "./signin";

// 作为函数调用
{signin()}

内容的提问来源于stack exchange,提问作者Ashish Ranjan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:45:33