Why is useState not triggering re-render?
Solution 1:
You're calling setNumbers
and passing it the array it already has. You've changed one of its values but it's still the same array, and I suspect React doesn't see any reason to re-render because state hasn't changed; the new array is the old array.
One easy way to avoid this is by spreading the array into a new array:
setNumbers([...old])
Solution 2:
You need to copy numbers
like so let old = [...numbers];
useState
doesn't update the value only if it has changed so if it was 44
and it became 7
it will update. but how can it know if an array or object have changed. it's by reference so when you do let old = numbers
you are just passing a reference and not creating a new one