javascript - HTML什么是顶层标签
怪我咯
怪我咯 2017-04-11 13:13:30
[JavaScript讨论组]

今天再看阮一峰老师的React入门实例的时候,对这段代码很困惑

var HelloMessage = React.createClass({
  render: function() {
    return (
    

Hello {this.props.name}

some text

); } });

文章中说这段代码出错的原因是这段代码中使用两个顶层标签,虽然在做前端方面工作,但未曾遇到这种问题,什么是HTML中的顶层标签?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
高洛峰

我帮你格式化了一下。

我虽然没看过阮老师的文章,但是你说的“顶层标签”的问题,是指任何return出的JSX,必须由一个标签来包裹。

你举的例子

return (
   <h1>
     Hello {this.props.name}
   </h1>
   <p>
     some text
   </p>
);

就是相当于暴露了两个标签<h1/>, <p/>,这样写是会报错的,必须由一个标签包裹起来。

return (
    <p>
        <h1>
          Hello {this.props.name}
        </h1>
        <p>
          some text
        </p>
    </p>
);

看到里面的<p>吗,就是所谓的“顶层标签”。

怪我咯

其实就只指代包裹这个部分的标签,即在这个范围里,最上层的标签只能有一个,不能并列多个。因为React会将这部分转为控件,控件对应一个标签会比较容易管理,所以React只允许出现一个顶层标签,这样就可以直接进行控制与标签的绑定了。

迷茫

这样来看

<h1>
    <p></p>
</h1>

这里的顶层标签只有一个就是h1

<h1></h1>
<p></p>

这里的顶层标签就有两个啦


这应该不是一种专业的术语。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号