An open API service indexing awesome lists of open source software.

https://github.com/huwcarwyn/react-context-modals

Add modals anywhere using a simple hook or context
https://github.com/huwcarwyn/react-context-modals

context-api hooks modals react

Last synced: 11 months ago
JSON representation

Add modals anywhere using a simple hook or context

Awesome Lists containing this project

README

          

# React Context Modals

React Context Modals allows you to very easily add flexible modals to any project, any component can be turned into a modal. Can be used either via the context API or by using the hook.

### Installation

```
npm install --save react-context-modals
```

or

```
yarn add react-context-modals
```

### Setup

To set up the library - import the modal CSS (or optionally roll your own), then wrap your app in the ModalProvider like so:

```
import { ModalProvider } from 'react-context-modals'

import 'react-context-modals/dist/main.css'

export const App = () => {
return (

// ...rest of your app

)
}
```

### Usage

With hooks:

```
import { useModal } from 'react-context-modals'

const BasicModal = ({ message }) => (

this is a very basic modal, with a message passed via props: {message}

)

const Example = props => {
const { showModal, hideModal } = useModal()

const showBasicModal = () => showModal(BasicModal, {
message: 'This message will be passed to the modal component'
})

return (

Open modal

)
}
```

With class based components:

```
import React, { Component } from 'react'
import { ModalConsumer } from 'react-context-modals'

const BasicModal = () =>

this is a very basic modal

class Example extends Component {
render() {
return (

{({ showModal, hideModal }) => (
showModal(BasicModal)}>Open modal
)}

)
}
}
```