如何防止事件冒泡与反应路由器的 <Link>dom ?



好的。所以我有这样的东西。

我在整个帖子周围添加了链接,以为我可以停止单个按钮的冒泡,但 stopPropagation(( 没有按预期工作。

我已经将按钮操作拆分为一个单独的组件,这是关于该主题的另一篇文章建议的,但这并没有解决问题。我假设这与它是一个反应路由器-dom 链接的事实有关,但它可能是其他东西。

有什么想法吗?

import React from 'react';
import { Link } from 'react-router-dom';
const MyComponent = ({
doSomething
})=>(
<Link to={`/some/url`}>
<div className="post">
<span className="button" onClick={e=>{
e.stopPropagation();
doSomething();
}}>My Button</span>
</div>
</Link>
)

应该可以工作:

e.preventDefault()

更详细的说明:stopPropagation/prevent链接内元素的默认行为

此外,stopPropagation是一个函数,它正在等待被调用。

相关内容

最新更新