Общий стейт на все компоненты в мапе
Столкнулся с такой проблемой: стейт пробрасываю в нужный компонент мапом, и ожидаю что для каждого рендера итерации будет разный стейт. Пример: В App.js храню стейт, его пробрасываю в Cart.jsx, а после:
{props.cartContent.map((cartItem, index) =>
<CartItem
key={index}
amount={props.amount}
setAmount={props.setAmount}
{...cartItem}
/>
)}
в cartItem. В нём следующая тема:
<button onClick={() => setAmount(prev => prev > 1 ? prev - 1 : amount)}> - </button>
<h3>{amount}</h3>
<button onClick={() => setAmount(prev => prev + 1)}>+</button>
На странице получается отрендеренные 5 карточек, и при изменении счётчика у одной карточки, такое же значение применяется и на все другие. Если стейт оставить в CartItem всё ок, но мне он нужен в аппе
Источник: Stack Overflow на русском