为了账号安全,请及时绑定邮箱和手机立即绑定

ReactJS组件名称必须以大写字母开头?

ReactJS组件名称必须以大写字母开头?

千巷猫影 2019-07-02 11:04:07
ReactJS组件名称必须以大写字母开头?我在玩ReactJS框架JSBin.我注意到,如果我的组件名以小写字母开头,则它不起作用。例如,以下内容没有呈现:var fml = React.createClass({   render: function () {     return <a href='google.com'>Go</a>   }});React.render(<fml />, document.body);但一旦我替换了fml带着Fml它确实渲染。我为什么不能用小写字母开始标签呢?
查看完整描述

3 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

Morphaus给出了一个很好的答案,只是想补充另一个细节。Reaction用于包含著名元素名称的白名单,如div等等,它用来区分DOM元素和反应组件。

但是,因为维护这个列表并不那么有趣,而且由于web组件可以创建自定义元素,所以他们让它成为所有响应组件都必须以大写字母开头的规则,或者包含一个点。


查看完整回答
反对 回复 2019-07-02
?
慕后森

TA贡献1802条经验 获得超5个赞

官方反应参考:

当元素类型以小写字母开头时,它引用了一个内置组件,如或,并导致字符串‘div’或‘span’传递给React.createElement。以大写字母开头的类型,如React.createElement(Foo),对应于在JavaScript文件中定义或导入的组件。

还注意到:

我们建议用大写字母命名组件。如果您有一个以小写字母开头的组件,那么在使用它之前,将它分配给一个大写变量。

这意味着人们必须使用:

const Foo = foo;使用前foo作为JSX中的一个组件元素。


查看完整回答
反对 回复 2019-07-02
  • 3 回答
  • 0 关注
  • 1834 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信