0.7.0 • Published 3 months ago

react-router-prompt v0.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

react-router-prompt 🚨

A component for the react-router 6 Prompt. Allows to create more flexible dialogs.

npm version

npm downloads

npm bundle size

Demo

🏠 Homepage

Installation

Prerequisite

React-router-dom >= 6.19 and can be used only with data routers

pnpm add react-router-prompt

or with other package manager like yarn

yarn add react-router-prompt

Basic Usage

<ReactRouterPrompt when={isDirty}>
  {({ isActive, onConfirm, onCancel }) => (
    <Modal show={isActive}>
      <div>
        <p>Do you really want to leave?</p>
        <button onClick={onCancel}>Cancel</button>
        <button onClick={onConfirm}>Ok</button>
      </div>
    </Modal>
  )}
</ReactRouterPrompt>

Props

  1. when: boolean | BlockerFunction

    BlockerFunction = (args: {
      currentLocation: Location
      nextLocation: Location
      historyAction: HistoryAction
    }) => boolean
  2. beforeConfirm() : Promise<unknown> (Optional)

  3. beforeCancel() : Promise<unknown> (Optional)

Return values

  1. isActive: Boolean
  2. onConfirm(): void
  3. onCancel(): void

Note 🗒️

This version works with react-router-dom >=v6.19 Should be used within data routers

For react-router support (v6 - v6.2.x) please install v0.3.0

For react-router support (v6.7.x - v6.18.x) please install v0.5.4

Skipped support in middle due to breaking changes on react-router apis

Contributing

Contributions, issues and feature requests are always welcome! Feel free to check issues page.

Acknowledgements

Support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2023 Shyam Gupta (shyamm@outlook.com) This project is MIT licensed.

About me

0.7.0-beta-1

3 months ago

0.7.0

3 months ago

0.5.5-beta-1

6 months ago

0.6.1-beta-1

5 months ago

0.6.1

5 months ago

0.6.0

6 months ago

0.5.4-beta.1

11 months ago

0.5.4

11 months ago

0.5.3-beta-1

1 year ago

0.5.1-beta

1 year ago

0.5.2-beta

1 year ago

0.5.3

1 year ago

0.4.0-beta-1

1 year ago

0.4.0-beta-2

1 year ago

0.5.0

1 year ago

0.4.0

1 year ago

0.5.2

1 year ago

0.5.1

1 year ago

0.3.1-beta

2 years ago

0.3.0

2 years ago

0.2.2

2 years ago

0.2.2-beta

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.0-beta-1

2 years ago

0.2.0-beta-3

2 years ago

0.2.0-beta-2

2 years ago

0.1.0

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago