我正在使用reactjs路由器中的Link组件,但无法使onClickevent运行。这是代码:
<Link to={this.props.myroute} onClick='hello()'>Here</Link>
这是做这件事的方式还是另一种方式?
我正在使用reactjs路由器中的Link组件,但无法使onClickevent运行。这是代码:
<Link to={this.props.myroute} onClick='hello()'>Here</Link>
这是做这件事的方式还是另一种方式?
您hello()
以字符串形式传递,也hello()
意味着hello
立即执行。
尝试
onClick={hello}
我不认为这通常是一个好的模式。链接将运行您的onClick事件,然后导航到该路线,因此导航到新路线会稍有延迟。更好的策略是使用“ to”道具导航到新路线,并且在新组件的componentDidMount()函数中可以触发hello函数或任何其他函数。它会为您提供相同的结果,但路线之间的过渡会更加顺畅。
对于上下文,我在使用链接上的onClick事件更新redux存储时注意到了这一点,这在安装新路由的组件之前导致〜.3秒的黑屏延迟。没有涉及到api调用,所以我惊讶于延迟如此之大。但是,如果您只是控制台记录“ hello”,则延迟可能不会很明显。