In React, keyed fragments are a way to assign a key to a React.Fragment, which is useful when rendering a list of fragments inside a loop.
What is a Fragment?
A Fragment lets you group multiple elements without adding extra nodes to the DOM. It looks like this:
<> <div>Item 1</div> <div>Item 2</div> </>
This is equivalent to:
<React.Fragment> <div>Item 1</div> <div>Item 2</div> </React.Fragment>
What is a Keyed Fragment?
A keyed fragment is a fragment with a key prop. It’s used when you are rendering a list of fragments inside a loop, and React needs to differentiate between them.
const items = ['Apple', 'Banana', 'Cherry'];
function ItemList() {
return (
<div>
{items.map((item, index) => (
<React.Fragment key={item}>
<h2>{item}</h2>
<p>Delicious fruit</p>
</React.Fragment>
))}
</div>
);
}
Why use keyed fragments?
- You avoid adding unnecessary wrapper elements like
<div>for layout purposes. - You still provide a
key, which React uses for efficient reconciliation during re-renders. - It’s especially useful when your UI structure needs to be flat (e.g., when you can’t nest elements because of CSS or semantic rules).
