你听过 React Fragments吗??

React 中常见模式是为一个组件返回多个元素。为了包裹多个元素你确定写过不少的 div 和 span,进行没必要要的嵌套,无形中增长了浏览器的渲染压力。前端

版本15

15之前,render 函数的返回必须有一个根节点,不然报错,为知足这一原则我会使用一个没有任何样式的 div 包裹一下。react

import React from 'react';

export default function () {
    return (
        <div>
            <div>一步 01</div>
            <div>一步 02</div>
            <div>一步 03</div>
            <div>一步 04</div>
        </div>
    );
}

代码就变成了这样编程

1_Sq5De7GxbgXaXnFB_fQ7Fg.png

render函数容许返回数组?

react 16开始, render支持返回数组,知道这个特性的人不在少数。这一特性已经能够减小没必要要节点嵌套,小伙伴们能够多多用起来。小程序

import React from 'react';

export default function () {
    return [
        <div>一步 01</div>,
        <div>一步 02</div>,
        <div>一步 03</div>,
        <div>一步 04</div>
    ];
}

Fragments

什么?你不喜欢写数组,怎么不懒死呢~~。好在 React 16为咱们提供了Fragments。
Fragments与Vue.js的<template>功能相似,可作不可见的包裹元素。数组

import React from 'react';

export default function () {
    return (
        <React.Fragment>
            <div>一步 01</div>
            <div>一步 02</div>
            <div>一步 03</div>
            <div>一步 04</div>
        </React.Fragment>
    );
}

Fragments简写形式<></>

简写形式<></>是否是很吊的样子,但目前有些前端工具支持的还不太好,用 create-react-app 建立的项目就不能经过编译。你们使用在线的编辑器体验一下吧。浏览器

import React from 'react';

export default function () {
    return (
        <>
            <div>一步 01</div>
            <div>一步 02</div>
            <div>一步 03</div>
            <div>一步 04</div>
        </>
    );
}

<></>app

以上

如今你就听过 React Fragments了 ?编程语言

【开发环境推荐】 Cloud Studio 是基于浏览器的集成式开发环境,支持绝大部分编程语言,包括 HTML五、PHP、Python、Java、Ruby、C/C++、.NET 小程序等等,无需下载安装程序,一键切换开发环境。 Cloud Studio提供了完整的 Linux 环境,而且支持自定义域名指向,动态计算资源调整,能够完成各类应用的开发编译与部署。
相关文章
相关标签/搜索