gpt4 book ai didi

reactjs - React - 如何在合成事件回收之前触发preventDefault()?

转载 作者:行者123 更新时间:2023-12-03 13:42:58 27 4
gpt4 key购买 nike

我在 React 组件中有以下函数,该函数在单击链接时运行:

onClick(e, { name }) {
e.stopPropagation();

const doIt = await checkSomething();

if (doIt) {
e.preventDefault();
doSomethingElse();
}
}

问题是,当到达 e.preventDefault() 时,合成事件将被回收。那么,当需要一些逻辑来计算此决定时以及在回收合成事件之前,如何告诉浏览器在点击链接时不要点击该链接?

最佳答案

处理此问题的一种方法是使用 preventDefault,当操作完成且您需要路由时,使用 history.push() 自行调用路由逻辑

onClick(e, { name }) {
e.stopPropagation();
e.preventDefault();
const doIt = await checkSomething();

if (doIt) {
doSomethingElse();
} else {
this.props.history.push('/pathToRoute');
}
}

how to Programmatically navigate with React-router 上查看此答案

关于reactjs - React - 如何在合成事件回收之前触发preventDefault()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48066529/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com