javascript - 在反应js中单击链接时调用函数
问题描述
我正在使用反应属性而不是标签。所以我需要做的是在点击链接时调用一个函数。我需要遵循什么方法来实现这个。我可以使用下面的函数吗?
<Link to={`/testimonial/${post.id}`} className="red">
<span onClick={this.saveData(post.title)}>More</span>
</Link>
我必须触发该功能,它将数据保存到 localStorage,然后将用户重定向到组件。
谢谢。
解决方案
是的。您可以在<Link />
. 或者,如果您想拥有更多控制权,您甚至可以在子元素或父元素中绑定事件处理程序。两者都是连续的:
<Link to={`/component/${post.id}`}/>
<span onClick={this.saveDataToLocalStorage}>More</span>
</Link>
或者,您可以根据需要避免使用<Link />
和使用普通元素:
<span onClick={this.saveDataToLocalStorage(post.id)}>More</span>
在函数内部,您可以重定向到路径:
saveDataToLocalStorage(postId) {
this.props.history.push(`/component/${postId}`)
这样,您将拥有更多控制权,您可以记录、警告等,以及何时重定向到页面。
推荐阅读
- swift - RxSwift 跳过事件直到自己的序列完成
- sql - 如何根据另一个表的ID查看表?
- python - XLSXWritter num_format 分隔千、百万甚至十亿?
- php - Magento2:绕过文件 vendor/magento/module-rule/Model/AbstractModel.php 中的正折扣验证
- python - 如何将文本文件中每一行的第四个相乘
- python - 为什么这会返回两个以上的值?
- react-native - 如何在没有gps的情况下获取用户国家
- javascript - JS - 如何从按钮单击事件中找到特定元素 TAG 以将其删除?
- json - CURL json输出切断
- ember.js - 如何在不显式命名的情况下将父组件的属性传递给子组件?