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的重现
添加回答
举报