๐ค ์์งlog ๐ค
[REACT] beforeunload ํ์ด์ง ๋๊ฐ๋ / ์๋ก๊ณ ์นจ ํ ๋ alert ๋์ฐ๊ธฐ ๋ณธ๋ฌธ
[REACT] beforeunload ํ์ด์ง ๋๊ฐ๋ / ์๋ก๊ณ ์นจ ํ ๋ alert ๋์ฐ๊ธฐ
Eun_zii 2023. 11. 13. 16:27beforeunload ์ด๋ฒคํธ๋ ์ฌ์ฉ์๊ฐ ์ผ๋ฐ์ ์ผ๋ก ํ์ด์ง๋ฅผ ๋ซ๊ฑฐ๋ ์๋ก๊ณ ์นจํ ๋, ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์ ๋, ์ฃผ์ ํ์์ค์ ๋ค๋ฅธ URL์ ์ ๋ ฅํ๊ฑฐ๋ ๋งํฌ๋ฅผ ํด๋ฆญํ ๋ ๋ฐ์ํ๋ฉฐ, ํ์ด์ง๋ฅผ ๋ซ๊ธฐ ์ ์ ์ด๋ ํ ์กฐ์น๋ฅผ ์ทจํ ์ ์๊ฒ ์ ๊ณตํฉ๋๋ค.
์ฃผ๋ก ์ฌ์ฉ์์๊ฒ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฅํ ๊ฒ์ธ์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๊ฑฐ๋, ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ ์ค์ธ ๋ฆฌ์์ค๋ฅผ ์ ๋ฆฌํ๋ ๋ฑ์ ์์ ์ ์ํํ ๋ ํ์ฉ๋ฉ๋๋ค.
๐ React ์์ ์ฌ์ฉํ๊ธฐ
useEffect(() => {
const handleBeforeUnload = (event) => {
event.preventDefault();
event.returnValue = ''; // ๋์ด์ ์ง์๋์ง ์๋ ์์ฑ ์ด๋ผ๊ณ ํ๋ค. ์์ฑํ์ง ์์๋ ๋ฌด๋ฐฉ
};
window.addEventListener('beforeunload', handleBeforeUnload);
return () => {
window.removeEventListener('beforeunload', handleBeforeUnload);
};
}, []);
๋ณด์์ด์?์ธ์ง ํฌ๋กฌ์์ ์ ๊ณต๋๋ ์ฐฝ ์ธ์ ์ปค์คํ ๋ฉ์ธ์ง๋ก ๋ง๋ confirm์ฐฝ์ด
์ ๋๋ก ๋์ค์ง ์์์ ์ฐ์ modal๋ก ๊ตฌํํ๋๋ฐ ใ ใ ..
๋ ์ฐพ์๋ด์ผ๊ฒ ๋ค .. ! ๐ค
๊ทผ๋ฐ ์ง์ง ์ด์ ๊ฐ ๋ญ์ง,, window.confirm / window.alert ๋ค ์๋๋๋ฐ..,,๐คฏ
โค๏ธ ๋์์ฃผ์ ๋ถ :
'๐ React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[REACT] e.stopPropagation( ) (0) | 2024.01.18 |
---|---|
[REACT] ํ๋ก ํธ์๋ ๊ธฐ์ ๋ฉด์ ๊ฐ๋ ์ ๋ฆฌ (1) | 2023.11.02 |
[REACT] react-daum-postcode๋ฅผ ์ด์ฉํ์ฌ ์ฐํธ๋ฒํธ ๊ฒ์ ๊ตฌํํ๊ธฐ (1) | 2023.10.30 |
[REACT] React-webcam ๊ตฌํํ๊ธฐ (0) | 2023.10.19 |
[REACT] Infinite scroll (๋ฌดํ์คํฌ๋กค) ๊ตฌํํ๊ธฐ (0) | 2023.10.13 |