В ответном маршрутизаторе documentation для onEnter
крючок указал, как обращаться, но для onLeave
нет примера. Мой вопрос заключается в том, как подтвердить, что пользователь хочет оставить страницу правильно.В ответном маршрутизаторе onEnter такой же, как onLeave
В соответствии с приведенным ниже кодом в обоих случаях, если пользователь нажимает на cancel
или ok
, он покидает страницу. Однако onEnter крюк работает нормально в соответствии с логикой.
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
Вы хотите подтверждение на ** ** любой страницы пользователь покидает? Или просто о странице? – samvv
около страницы – owaishanif786