πŸ’™ React

[REACT] beforeunload νŽ˜μ΄μ§€ λ‚˜κ°ˆλ•Œ / μƒˆλ‘œκ³ μΉ¨ ν• λ•Œ alert λ„μš°κΈ°

Eun_zii 2023. 11. 13. 16:27

beforeunload μ΄λ²€νŠΈλŠ” μ‚¬μš©μžκ°€ 일반적으둜 νŽ˜μ΄μ§€λ₯Ό λ‹«κ±°λ‚˜ μƒˆλ‘œκ³ μΉ¨ν•  λ•Œ, λΈŒλΌμš°μ €λ₯Ό 닫을 λ•Œ, μ£Όμ†Œ ν‘œμ‹œμ€„μ— λ‹€λ₯Έ 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 λ‹€ μ•ˆλ˜λŠ”λ°..,,🀯

 

 

 

❀️ 도움주신뢄 :

 

728x90