首页 > 解决方案 > 在反应js中单击链接时调用函数

问题描述

我正在使用反应属性而不是标签。所以我需要做的是在点击链接时调用一个函数。我需要遵循什么方法来实现这个。我可以使用下面的函数吗?

<Link to={`/testimonial/${post.id}`} className="red">
  <span onClick={this.saveData(post.title)}>More</span>
</Link>

我必须触发该功能,它将数据保存到 localStorage,然后将用户重定向到组件。

谢谢。

标签: javascriptreactjs

解决方案


是的。您可以在<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}`)

这样,您将拥有更多控制权,您可以记录、警告等,以及何时重定向到页面。


推荐阅读