我可以在React Router Link上安全地使用“ to”和“ onClick”道具吗?

时间:2019-11-16 14:58:01

标签: reactjs react-router

我很想保留通过to道具使用默认路由机制的好处,而且还为单击链接时添加了额外的日志记录逻辑。

2 个答案:

答案 0 :(得分:1)

您想实现什么逻辑?是什么阻止您向onClick组件添加Link处理程序?

<Link to="/" onClick={event => { alert('home') }}>Home</Link>

另一个可能的选择是将Link转移到另一个组件,您可以在其中将诸如componentDidMount()之类的任何逻辑放入生命周期方法中。

Go to sandbox

回答您的问题,source code中支持onClick事件。所以我想那完全没问题。

答案 1 :(得分:0)

如果处理方式取决于路线而不是链接,则可以将click处理程序添加到Route的render属性,否则将处理程序分配给Link的onClick属性。

<Route 
   path="home"
   render={props=>{
                 //Handler function
                 this.handler();
                 //Component to render
                 return <Home/>; 
                 }}
/>