sweetalert2-react-content

Official sweetalert2 enhancer adding support for React elements as content.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
sweetalert2-react-content
67655.0.72 years ago6 years agoMinified + gzip package size for sweetalert2-react-content in KB

Readme

sweetalert2-react-content
Official SweetAlert2 enhancer adding support for React elements as content.
Build Status npm version
semantic-release badge typescript .d.ts included License: MIT
The following options can be React elements:
  • title
  • html
  • confirmButtonText
  • denyButtonText
  • cancelButtonText
  • footer
  • closeButtonHtml
  • iconHtml
  • loaderHtml

Installation

npm install --save sweetalert2 sweetalert2-react-content

Usage Example

import Swal from 'sweetalert2'
import withReactContent from 'sweetalert2-react-content'

const MySwal = withReactContent(Swal)

MySwal.fire({
  title: <p>Hello World</p>,
  didOpen: () => {
    // `MySwal` is a subclass of `Swal` with all the same instance & static methods
    MySwal.showLoading()
  },
}).then(() => {
  return MySwal.fire(<p>Shorthand works too</p>)
})

The dist/sweetalert2-react-content.umd.js file defines window.sweetalert2ReactContent in non-CJS/AMD environments.

Limitations

SweetAlert2 renders its content outside of the ReactTree. In order to render React Router components (such as Link) you have to wrap them in the routing context which should be the same with the app.
That can be achived by using the HistoryRouter with shared history. Please refer to the official code example ↗️