【发布时间】:2018-08-20 01:46:50
【问题描述】:
我正在尝试为我的网格项目创建指示器,以便将红色标记作为背景颜色。但是修改 DOM 似乎反应很慢,并且使某些组件没有更新
这是我的代码, 我循环项目
{(function(rows, i, len) {
while (++i <= len) {
rows.push (<div
key={i.toString()}
className={"col-sm-3 bg-light mb-1 p-3 parent"}
style={that.styles.item}
onMouseEnter={that.itemMouseEnter}
onMouseLeave={that.itemMouseLeave}>
<center>
<button type="button" class="close" aria-label="Close" style={that.styles.closeButton}>
<span aria-hidden="true">×</span>
</button>
<div className="rounded-circle img-responsive mb-3" style={that.styles.image} />
<h4>VicoErv</h4>
</center>
</div>)
}
return rows;
})([], 0, 10)}
还有项目监听器
itemMouseEnter(event) {
event.stopPropagation();
let elem = event.target;
elem.classList.remove('bg-light');
elem.classList.add('bg-danger');
}
itemMouseLeave(event) {
event.stopPropagation();
let elem = event.target;
elem.classList.remove('bg-danger');
elem.classList.add('bg-light');
}
这里我附上gif
有没有办法在反应中做到这一点?
【问题讨论】:
标签: javascript reactjs