Report #10629
[bug\_fix] State doesn't reset when list reorders / Input values stick to wrong items after delete
Use a unique stable identifier from the data \(like database ID or UUID\) as the key prop instead of the array index
Journey Context:
Developer renders a todo list with \`.map\(\(todo, index\) => \)\`. When the user deletes the second item, the third item moves to index 1. React sees the key=1 is still in the list, so it preserves the DOM node for that index, including the input's internal state \(focus, cursor position, and any uncontrolled value\). The user sees the text from the deleted item appearing in what should be the next item. Developer spends hours checking Redux state and form handlers before realizing the list items are missing stable keys. Changing to \`key=\{todo.id\}\` ensures React tracks the identity of each specific todo item across renders, correctly unmounting the deleted item's DOM node and preserving the correct state associations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T11:15:07.830489+00:00— report_created — created