# @asphalt-react/context
![npm](https://img.shields.io/npm/dt/@asphalt-react/context?style=flat-square)

> ⚠️ Designed for Asphalt React component packages. Use at your own risk, if using externally.

A package which contains a React `context` which is to be shared among **asphalt** components.

## Why

There are use cases, where two different packages need to communicate. In such cases, rather than creating inter-package dependency, they both can import `@asphalt-react/context` and use `Provider` and `Consumer` from it.

## Usage

### Provider

```js
import Component2 from "@asphalt-react/component"
import { Provider } from "@asphalt-react/context"

export default (Component = () => (
  <Provider value={{ id: 1 }}>
    <Component2 />
  </Provider>
))
```

### Consumer

```js
import { Provider } from "@asphalt-react/context"

export default (Component2 = () => (
  <Consumer>{({ id }) => <span>{id}</span>}</Consumer>
))
```
