📌  相关文章
📜  React 中的 Fragment 有什么用?

📅  最后修改于: 2022-05-13 01:56:39.240000             🧑  作者: Mango

React 中的 Fragment 有什么用?

在 ReactJS 中,我们借助 return 语句从组件渲染 JSX,无论是写在功能组件内部还是类组件的渲染函数内部。现在的重点是,在 javascript 中,return 语句只能返回一个实体,所以当我们必须从 return 语句中返回多个元素时,我们通常会创建额外的节点。这个额外的节点有一些缺点,因此为了避免它们,我们使用 React Fragment。

先决条件:了解如何启动和创建 React 应用程序,React 中的 JSX,以及 HTML DOM 的基础知识。

组件如何渲染?

创建 react 应用程序后,在 index.js 和 app.js 中进行以下更改,我们将只使用这两个文件。 index.js 文件是主要入口点,在其中,App.js 在render方法的帮助下在 DOM 的根 id 处呈现。在 App.js 中只存在一个 h1 标签。

index.js
import React from 'react';
import ReactDOM from 'react-dom';
  
import App from './App';
  
ReactDOM.render(, 
    document.getElementById('root'));


App.js
import React from 'react';
  
function App() {
  return (
    

Hello There

  ); }    export default App;


App.js
import React from 'react';
  
function App() {
  return (
    

Hello, There

    

This is the another element.

  
); }    export default App;


App.js
import React from 'react';
  
function App() {
  return (
    

Hello, There

    

This is the another element.

  
); }    export default App;


应用程序.js

import React from 'react';
  
function App() {
  return (
    

Hello There

  ); }    export default App;

输出:

如果我们必须在 DOM 中返回相同级别的两个不同元素怎么办?

在这种情况下,我们必须使用容器,即 div 否则 React 将出现类似“相邻 JSX 元素必须包装在封闭标签中”的错误。

应用程序.js

import React from 'react';
  
function App() {
  return (
    

Hello, There

    

This is the another element.

  
); }    export default App;

输出:

反应片段

它允许我们从组件返回多个元素,使用它我们可以对子元素列表进行分组。

应用程序.js

import React from 'react';
  
function App() {
  return (
    

Hello, There

    

This is the another element.

  
); }    export default App;

输出:

说明:虽然输出保持不变,但整个关键点是在分组时它不会创建任何额外的节点。在很多情况下,这个额外的 div 会导致我们进入有问题的状态,这就是为什么我们应该总是更喜欢片段进行分组。

注意:我们也可以使用这种<> 语法糖形式来代替