Quiz

What are React Fragments used for?

Topics
React
在GitHub上编辑

TL;DR

React Fragments are used to group multiple elements without adding extra nodes to the DOM. This is useful when you want to return multiple elements from a component's render method without wrapping them in an additional HTML element. You can use the shorthand syntax <>...</> or the React.Fragment syntax.

return (
<>
<ChildComponent1 />
<ChildComponent2 />
</>
);

What are React Fragments used for?

Grouping multiple elements

React Fragments allow you to group multiple elements without adding extra nodes to the DOM. This is particularly useful when you want to return multiple elements from a component's render method but don't want to introduce unnecessary wrapper elements.

Avoiding unnecessary DOM nodes

Using React Fragments helps in avoiding unnecessary DOM nodes, which can be beneficial for performance and maintaining a cleaner DOM structure. This is especially important in complex applications where additional nodes can lead to increased memory usage and slower rendering times.

Syntax

There are two ways to use React Fragments:

  1. Shorthand syntax: This is the most concise way to use fragments. It uses empty tags <>...</>.

    return (
    <>
    <ChildComponent1 />
    <ChildComponent2 />
    </>
    );
  2. Full syntax: This uses React.Fragment and can be useful if you need to add keys to the fragment.

    return (
    <React.Fragment>
    <ChildComponent1 />
    <ChildComponent2 />
    </React.Fragment>
    );

Adding keys to fragments

If you need to add keys to the elements within a fragment, you must use the full React.Fragment syntax. This is useful when rendering a list of elements.

return (
<React.Fragment>
{items.map(item => (
<ChildComponent key={item.id} />
))}
</React.Fragment>
);

Use cases

  • Returning multiple elements from a component: When a component needs to return multiple sibling elements, using a fragment can help avoid unnecessary wrapper elements.
  • Rendering lists: When rendering a list of elements, fragments can be used to group the list items without adding extra nodes to the DOM.
  • Conditional rendering: When conditionally rendering multiple elements, fragments can help keep the DOM structure clean.

Further reading

在GitHub上编辑