我正在youtube上浏览一个视频教程[react web应用程序]......视频中的那个人正在用小写字母“signin.js”[第一个字母]编写文件名......用小写字母[第一个字母]编写组件名称
import React from 'react'
const signin = () => {
return (
<></>
)
}
export default signin
也是用小箱子进口的
import signin from "./signin";
但是当我做同样的事情时,它给我错误...要求我用大写字母命名组件...我在这里很困惑...我在互联网上搜索了它,但没有得到答案...如果有人能帮助我理解这一点,请...谢谢
3条答案
按热度按时间z0qdvdin1#
据我所知,所有的react组件必须从大写开始,它甚至包含页面(因为页面已经是组件,react路由器使用它们作为页面),你可以使用小写作为文件名,但你必须使用大写来使用它,否则babel会认为这是html标记,如果不是,它将返回错误
像这样:
但是为了更好的可读性,最好也将文件名写成大写
3df52oht2#
如果你这样使用它,可读性就会有问题,
从登录.jsx
这里也要用小写
相反,
型
文件名也是Signin.jsx(扩展名是示例)
这样更清晰易读,可以减少错误。
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中使用它之前将其分配给一个大写的变量。”