gpt4 book ai didi

javascript - 在 react 路由器中,onEnter 与 onLeave 相同

转载 作者:行者123 更新时间:2023-11-29 21:09:47 26 4
gpt4 key购买 nike

在 React 路由器中 documentation对于 onEnter Hook ,他们指定了如何处理,但对于 onLeave 没有示例。我的问题是如何确认用户想要正确离开页面。

根据下面给出的代码,在这两种情况下,无论用户单击 cancel 还是 ok,它都会离开页面。但是 onEnter Hook 按照逻辑工作正常。

const checkEnterAbout = (nextState, replace, callback) => {
if(!confirm('do you want to enter really!!!')){
replace(`/`);
}else{
callback();
}

}

const checkLeaveAbout = (prevState) => {
console.log(prevState);
return confirm("Are you sure you want to leave this page");
}

<Route path="/about" component={About} onEnter={checkEnterAbout} onLeave={checkLeaveAbout} />

还有当我尝试 withRouter 时确认指南。它给我一个错误

Failed prop type: Invalid prop `component` supplied to `Route`.
in Route

最佳答案

有一个钩子(Hook)叫做routerWillLeave,下面是一个例子:

https://github.com/ReactTraining/react-router/blob/master/docs/guides/ConfirmingNavigation.md

关于javascript - 在 react 路由器中,onEnter 与 onLeave 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42249309/

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