A parent can render because its own note changed even when a child still receives the same quantity. React.memo can reuse that child output when its props are unchanged. Keep the child outside the parent function so its identity stays stable, and pass only the values the child needs. A fresh object or callback can defeat the comparison even when its contents look the same.
You will separate a parcel summary from an unrelated parent note. An instrument inside the child records its renders, so the preview can check skipped work without timing the computer. Then change the quantity twice and verify the child updates each time. That second boundary matters: a comparator that always reports equality can reduce renders while leaving a stale quantity on the screen. Correct values must survive the optimization.