Design-loving front-end engineer
Ryong
Design-loving front-end engineer
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
    • Framework
    • React
      • Concept
      • Library
      • Hook
      • Component
      • Test
    • NodeJS
    • Android
      • Concept
      • Code
      • Sunflower
      • Etc
    • Flutter
      • Concept
      • Package
    • Web
    • Web
    • CSS
    • Language
    • JavaScript
    • TypeScript
    • Kotlin
    • Dart
    • Algorithm
    • Data Structure
    • Programmers
    • Management
    • Git
    • Editor
    • VSCode
    • Knowledge
    • Voice
Design-loving front-end engineer

Ryong

React/Hook

[ Hook ] usePreventLeave

2022. 8. 10. 11:17

๐Ÿ”ด  Introduction

โšช  ํ˜„์žฌ ํŽ˜์ด์ง€๋ฅผ ์ข…๋ฃŒํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋„์šธ์ง€ ๋ง์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•ด์ฃผ๋Š” Hook

 

๐ŸŸ   Hook

 
export const usePreventLeave = () => {
    const listener = (event) => {
        event.preventDefault();
        event.returnValue = "";
    };
    const enablePrevent = () => window.addEventListener("beforeunload", listener);
    const disablePrevent = () => window.removeEventListener("beforeunload", listener);
    return [enablePrevent, disablePrevent];
};

 

๐ŸŸก  Usage

 
import { usePreventLeave } from "./hooks/usePreventLeave";

function App() {
    const [enablePrevent, disablePrevent] = usePreventLeave();
    return (
        <div className="App">
            <button onClick={enablePrevent}>Protect</button>
            <button onClick={disablePrevent}>Unprotect</button>
        </div>
    );
}

export default App;

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'React > Hook' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ Hook ] useScroll  (0) 2022.08.10
[ Hook ] useNotification  (0) 2022.08.10
[ Hook ] useHover  (0) 2022.08.10
[ Hook ] useConfirm  (0) 2022.08.10
[ Hook ] useBeforeLeave  (0) 2022.08.10
    'React/Hook' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ Hook ] useScroll
    • [ Hook ] useNotification
    • [ Hook ] useHover
    • [ Hook ] useConfirm
    Design-loving front-end engineer
    Design-loving front-end engineer
    ๋””์ž์ธ์— ๊ด€์‹ฌ์ด ๋งŽ์€ ๋ชจ๋ฐ”์ผ ์•ฑ ์—”์ง€๋‹ˆ์–ด Ryong์ž…๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”