P07:组件外层包裹原则Fragment 标签的应用
Posted wgchen~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P07:组件外层包裹原则Fragment 标签的应用相关的知识,希望对你有一定的参考价值。
React16 基础
阐述
通过上面六节的学习,已经对React有了基本的认识。
最好的学习就是在实战中的成长了,我们开始以作一个《服务菜单》的应用,练习以前所学的知识和学习新知识。
当然本教程不是教大家作CSS的,所以我就不进行样式布局了。
新建服务组件
现在 src
的目录下面,新建一个文件 Beauty.js
文件,然后写一个基本的html结构。
代码如下:
import React,Component from 'react'
class Beauty extends Component
render()
return (
<div>
<div><input /> <button>增加服务</button></div>
<ul>
<li>头部按摩</li>
<li>精油推背</li>
</ul>
</div>
)
export default Beauty
这个文件现在还没有什么功能,只是写完了一个小组件。
然后我们把入口文件的 <App />
组件换成 Beauty
组件。
组件外层包裹原则
这是一个很重要的原则,比如上面的代码,我们去掉最外层的<div>
,就会报错,因为React要求必须在一个组件的最外层进行包裹。
错误代码(因为外边少了最外层的包裹):
import React,Component from 'react'
class Beauty extends Component
render()
return (
<div><input /> <button> 增加服务 </button></div>
<ul>
<li>头部按摩</li>
<li>精油推背</li>
</ul>
)
export default Beauty
所以我们在写一个组件的时候,组件的最外层都需要有一个包裹。
Fragment 标签讲解
加上最外层的 DIV
,组件就是完全正常的,但是你的布局就偏不需要这个最外层的标签怎么办?
比如我们在作Flex布局的时候,外层还真的不能有包裹元素。
这种矛盾其实React16已经有所考虑了,为我们准备了标签。
要想使用,需要先进行引入。
import React,Component,Fragment from 'react'
然后把最外层的<div>
标签,换成<Fragment>
标签,代码如下。
这时候你再去浏览器的Elements
中查看,就回发现已经没有外层的包裹了。
以上是关于P07:组件外层包裹原则Fragment 标签的应用的主要内容,如果未能解决你的问题,请参考以下文章