2 回答

TA貢獻1906條經驗 獲得超10個贊
所有 div 都變為活動狀態的原因是因為它們依賴于同一標志。
這里最正確的解決方案是依靠set amount
假設您在狀態金額中設置了所選金額,您將實現如下所示的活動邏輯
<div
className={"amount-circle" + (this.state.amount == 2 ? ' active' : '')}
onClick={() => this.amountChanged(2)}>
<p>2</p>
</div>
<div
className={"amount-circle" + (this.state.amount == 5 ? ' active' : '')}
onClick={() => this.amountChanged(5)}>
<p>5</p>
</div>
<div
className={"amount-circle" + (this.state.amount == 10 ? ' active' : '')}
onClick={() => this.amountChanged(10)}>
<p>10</p>
</div>

TA貢獻1770條經驗 獲得超3個贊
你不能做這樣的事情嗎?
<div onClick={(e) => e.target.classList.toggle('active')}>
coucou
</div>
您不會依賴任何標志,只需依靠點擊目標。這是對StackBlitz的重現
添加回答
舉報