反応ルータでは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