I have an app, and whenever users click on the back button I want ask: "You may have some unsaved changed. Are you sure to go back?". How can I achieve this react? Can I use react router dom for that? or is there any other method?
Asked
Active
Viewed 348 times
-1
-
1Does this help? https://stackoverflow.com/questions/25806608/how-to-detect-browser-back-button-event-cross-browser – Hanchen Jiang Dec 28 '21 at 17:15
-
What versions of `react-router` and `react-router-dom` are you using? From your project's directory run `npm list react-router-react-router-dom` and report back. – Drew Reese Dec 28 '21 at 17:49
-
Yes.. i will..its the lastest..maybe 5 – Nijesh Dec 28 '21 at 18:06
-
Well, current is v6 which removed any sort of `Prompt` component to block navigation actions, and doesn't directly expose out the `history` object to even do a `history.block`. Version 5 ***does*** however do this. The version you are using is a very relevant and important detail. – Drew Reese Dec 28 '21 at 18:28
1 Answers
0
Can you try using window.confirm?
<button
className="btn btn-danger"
onClick={() => {if(window.confirm('You may have some unsaved changed. Are you sure to go back?')){
//Your back button logic
}}
>
Back
</button>

Ahmet Firat Keler
- 2,603
- 2
- 11
- 22
-
Actually i want to block the browser's back button not a custom one in the app – Nijesh Dec 28 '21 at 18:08
-
Can you follow this link? https://stackoverflow.com/questions/36141470/disable-back-button-in-react-router-2 – Ahmet Firat Keler Dec 29 '21 at 05:02
-