ReactJS Fragments (original) (raw)

Last Updated : 11 Jul, 2025

ReactJS Fragments are a way to group **multiple elements without adding an extra node to the **DOM. It allows you to return **multiple child elements from a component without wrapping them in a parent container like a ****

**.

Why Use React Fragments?

The primary benefit of Fragments is the capability to reduce the elements available in the DOM.

**Syntax:

<>

Hello, World!


Welcome to the world of React!


</>

How to Use React Fragments

We can use react Fragement in **two ways. we have implemented each one here.

Using Shorthand

This is the simplest and most common way to use fragments in React. The shorthand uses empty tags <> and </> to wrap multiple elements.

JavaScript `

return ( <>

Title

Content

</> );

`

Using React.Fragment

Use the React.Fragment component directly. While this is more detailed, it offers extra functionality, such as the ability to assign keys when using Fragments in lists.

JavaScript `

<React.Fragment>

Title

Content

</React.Fragment>;

`

Implementing ReactJS Fragments

Here, we have created a simple example that display a list of fruits using ReactJS Fragments.

JavaScript `

import React from "react";

function FruitList() { const fruits = [ { name: "Apple", description: "A sweet red fruit" }, { name: "Banana", description: "A tropical yellow fruit" }, { name: "Cherry", description: "A small, round fruit" }, ];

return (
    <div>
        {fruits.map((fruit, index) => (
            <React.Fragment key={index}>
                <h3>{fruit.name}</h3>
                <p>{fruit.description}</p>
            </React.Fragment>
        ))}
    </div>
);

}

export default FruitList;

`

**Output

Fragments

Displaying a List of Fruits

**In this code

Difference Between React Fragments and
Element

Feature React Fragment
Element
Purpose Groups elements without adding extra nodes. Groups elements but adds an extra
.
DOM Structure No extra node in the DOM. Adds an additional div node to the DOM.
Semantic Markup Maintains clean structure. Can clutter HTML with extra
s.
Use Case Ideal for rendering multiple components without extra DOM elements. Suitable when a wrapper element is needed for styling, layout, etc.
Performance More efficient because it doesn’t add extra DOM nodes. Less efficient due to the additional wrapper node.
Support for key Prop Can support key when used with lists. Supports key like any regular element, especially useful in lists.
Attributes Cannot have attributes like className or style. Can have attributes such as className, id, etc.
Nested Components Works well with child components without creating an unnecessary wrapper. Can be used to wrap multiple elements, especially when additional styling or events are required.
Common Use Frequently used when rendering lists or when no additional wrapper is needed. Used for general layout purposes where extra structure or styling is required.

Advantages of React Fragments

React Fragment replaces the ****

** element, which can cause issues with invalid **HTML, with the following advantages.

  • **Cleaner DOM: Avoids unnecessary wrapper elements, keeping the structure clean and semantic.
  • **Improved Performance: No extra DOM nodes, leading to faster page loads, especially in complex apps.
  • **Flexibility: Enables nesting multiple elements without extra wrapping tags.
  • **Semantic HTML: Maintains a clean structure by eliminating redundant
    elements.
  • **Key Support: Allows key usage in lists, improving React's rendering efficiency.

Limitations of React Fragments

  • **No Attributes: React Fragments cannot accept attributes like className, id, or style. If you need to apply styles or identify elements, you still need a wrapper element like a
    .
  • **Cannot Manipulate Directly: Since React Fragments don't create a DOM node, you can't select them using functions like querySelector().
  • **Limited to wrapping: Fragments can only support wrapping elements and not additional functionalities like handling events, styling, or layouts offered by a div.

Conclusion

React Fragments **optimize structure, improve performance, and maintain semantic **HTML by eliminating unnecessary wrapper elements. While useful for lists and layouts, they lack attributes and direct **DOM manipulation. Use them wisely for a cleaner, more efficient React app.