[REACT] beforeunload νμ΄μ§ λκ°λ / μλ‘κ³ μΉ¨ ν λ alert λμ°κΈ°
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 λ€ μλλλ°..,,π€―
β€οΈ λμμ£Όμ λΆ :