refactor(Separated): fix key usage in Separated component: use child.key instead of array index for better stability#278
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR refactors the Separated component to improve React key usage by replacing array indices with child element keys for better rendering stability and performance.
- Changes the React
keyfrom array index tochild.keyin the mapped children - Improves rendering consistency during updates like insertion, deletion, or reordering
- Follows React best practices by avoiding array index keys
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #278 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 37 37
Lines 1093 1093
Branches 324 324
=========================================
Hits 1093 1093 🚀 New features to boost your workflow:
|
|
@wo-o29 Thanks for the improvement! The change to use |
|
One thing needed: please add a changeset ( Then we'll merge! |
Overview
This PR improves the
Separatedcomponent by changing the Reactkeyused in the mapped children from the array index to the child element’s ownkey.Using array indices as keys in React lists is considered an anti-pattern because it can cause issues with component state, performance, and rendering consistency during updates such as insertion, deletion, or reordering.
By leveraging the unique
keyproperty provided by React elements viaChildren.toArray(), this change enhances rendering stability and avoids unnecessary re-renders or UI glitches.This results in more predictable behavior, better performance, and easier maintenance for components using
Separated.Checklist
yarn run fixto format and lint the code and docsyarn run test:coverageto confirm coverage completeness