ReactJS onClick 事件,该事件禁用在 <a> 标签上的第二次单击
ReactJS onClick event which disable clicking second time on <a> tag
我正在寻找一种解决方案,如何防止通过<a>
标签第二次点击和保存相同的关注者。
这是我的代码:
<a className={this.followClasses(user.following)}
onClick={this.followUser.bind(this, user.id)}
disabled={user.following}>
<i className="material-icons">person-pin</i>
</a>
onClick 运行一个函数,将当前用户和其他用户之间的连接保存到数据库中,当前用户希望遵循第二个连接并将颜色从灰色更改为灰色。但是当我单击它一次时,有可能单击它两次,这样用户之间的连接就会加倍。正如我所检查的那样,没有像禁用这样的 attr for <a>
那么还有其他可能的解决方案可以使其无法第二次单击它吗?
这是 onClick 的回调函数:
followUser(userId){
UserActions.followUser(userId);
}
你可以像这样简单地做到这一点:
followUser(userId) {
if (!this.followUserClicked) {
this.followUserClicked = true;
UserActions.followUser(userId);
}
}
尽管这取决于您的结构,但最好考虑将此值存储在某个更高级别的对象中,以免在视图更新时丢失值。我建议宁愿在用户操作中处理它,而不是在视图中处理。
代码可能面临的问题是,您的节点在user.following
更改后可能不会重新渲染,将 user.follow 值保持在组件的状态中,跟踪更改时间并在更改后执行this.setState({following: user.following})
,这将触发视图更新。
好的伙计们。我应付了这个问题。我已经将以下变量添加到 followUser(userId,follow(,与我用来为标签着色<a>
变量相同,它可以工作!
followUser(userId, following){
if(!following){
UserActions.followUser(userId);
}
}
相关文章:
- 兰吉 |如何在 span 标签上使用单击事件删除突出显示的文本
- 如何在tinymce编辑器中将点击事件绑定到html标签
- xPages标签onclick事件不'不要在空白处工作
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 如何在Chart.js v2.0中的标签上添加OnClick事件
- 结合onmouseover事件和<a>标签
- JS在input标签上使用keyup事件进行搜索
- 将处理程序附加到“a”标签上的单击事件,即使我不单击也会触发
- 将 OnClick 事件附加到我的标签 - JavaScript.亚德夫.
- JavaScript on Click 事件在 img 标签上无法正常工作
- 将函数事件绑定到更改函数的复选框/标签
- 如何在标签值更改时使用 jquery 事件
- 谷歌标签管理器点击事件没有冒泡到家长
- 带有标签的外部链接会延迟滚动事件
- 在每个条形图的中间添加文本标签&鼠标悬停事件
- 谷歌标签管理器,事件推送到数据层
- Ember:使用{{action}}标签处理多个事件
- <的Onchange事件;td>标签
- 如何使用输入模糊事件更新多个具有相同类名的标签的文本
- Google Analytics应用脚本获取包含特定字词的所有媒体事件标签