具有以下React代码:

// foo element
<NavLink onClick={(e) => this.sectionSelected(e)} />

//method invoqued
sectionSelected(e) {
    e.preventDefault();

    // foo actions
    // this.setState( ... )

    // trigger the click again
    // e.retrigger()
}


如何重新触发使用preventDefault取消的点击?

寻找一个不涉及jQuery的答案。

最佳答案

我认为没有一种方法可以按照您想要的方式挂起默认事件行为。

您可以包装NavLink来处理点击并遵循默认行为...

const NavLinkWithOnClick = ({
 clickHandler,
 to
}) => (
  <div onClick={clickHandler}>
   <NavLink to={to} />
  </div>
)

...

<NavLinkWithOnClick clickHandler={sectionSelected] to="/wherever" />

10-06 15:53