reactjs “React页面”命名规则与“React组件”命名规则的区别

llycmphe  于 2022-12-18  发布在  React
关注(0)|答案(3)|浏览(148)

我正在youtube上浏览一个视频教程[react web应用程序]......视频中的那个人正在用小写字母“signin.js”[第一个字母]编写文件名......用小写字母[第一个字母]编写组件名称

import React from 'react'

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

export default signin

也是用小箱子进口的

import signin from "./signin";

但是当我做同样的事情时,它给我错误...要求我用大写字母命名组件...我在这里很困惑...我在互联网上搜索了它,但没有得到答案...如果有人能帮助我理解这一点,请...谢谢

z0qdvdin

z0qdvdin1#

据我所知,所有的react组件必须从大写开始,它甚至包含页面(因为页面已经是组件,react路由器使用它们作为页面),你可以使用小写作为文件名,但你必须使用大写来使用它,否则babel会认为这是html标记,如果不是,它将返回错误
像这样:

import Signin from "./signin";

但是为了更好的可读性,最好也将文件名写成大写

3df52oht

3df52oht2#

import signin from "./signin";

如果你这样使用它,可读性就会有问题,
从登录.jsx

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

这里也要用小写
相反,

import Signin from "./Signin";


文件名也是Signin.jsx(扩展名是示例)

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

这样更清晰易读,可以减少错误。

cyvaqqii

cyvaqqii3#

这是官方文件
https://reactjs.org/docs/jsx-in-depth.html也是另一个很好的资源:https://beta.reactjs.org/apis/react/createElement#caveats
“当元素类型以小写字母开头时,它指的是内置组件(如或),并导致将字符串'div'或'span'传递给React. createElement。以大写字母开头的类型(如编译为React.createElement(Foo))对应于JavaScript文件中定义或导入的组件。
我们建议用大写字母命名组件。如果您确实有一个以小写字母开头的组件,请在JSX中使用它之前将其分配给一个大写的变量。”

相关问题