use-before-unload
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

use-before unload

React hook to install a window.onbeforeunload handler and control it inside a component.

Installation

npm i use-before-unload

Usage

Just use it in any component that you want to prevent a reload (or tab close) with. You can provide a string or a function as an argument to the hook.

Example:

const ComponentThatControlsUnload = ({ children }: Props) => {
  useBeforeUnload('Really leave?');
  return children;
};

Note that the text you provide is not shown in most modern browsers.

When using a function it gets passed the beforeunload Event. If you return a truthy value (which can be a string) the page reload will be suppressed:

const ComponentThatControlsUnload = ({ children }: Props) => {
  useBeforeUnload(evt => {
    /* Do some checks here if you like */
    return true; // Suppress reload
  });
  return children;
};

API

useBeforeUnload(value: ((evt: BeforeUnloadEvent) => any) | string)

License

MIT

Dependencies (0)

    Dev Dependencies (13)

    Package Sidebar

    Install

    npm i use-before-unload

    Weekly Downloads

    48

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    4.92 kB

    Total Files

    7

    Last publish

    Collaborators

    • chmanie