首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >react -如何强制元素立即重绘

react -如何强制元素立即重绘
EN

Stack Overflow用户
提问于 2018-06-11 07:24:48
回答 3查看 455关注 0票数 1

我在react组件中有一个切换按钮:

代码语言:javascript
运行
复制
toggleSpeak = () => {
   this.setState({buttonOn: !this.state.buttonOn});
}

并且该按钮根据其状态改变其样式:

代码语言:javascript
运行
复制
 <img key="headphones" className={audioclass} src={this.state.buttonOn ? white : black} onClick={this.toggleSpeak}/>

这也会在子组件中触发一些东西:

代码语言:javascript
运行
复制
play={this.state.buttonOn}

这会触发一些speechSynthesis回放,这有时需要一段时间。问题是我想让用户意识到正在发生的事情。然而,该按钮并不会立即改变其样式。只要我触发其他东西,无论是通过如上所述的子对象的直通属性,还是通过触发redux操作,它仍然会延迟几秒钟更改颜色。

我想立即更改颜色而不延迟,这样用户就知道不再重复推送它。我如何才能做到这一点呢?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50788885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档