@fluentui/react-portal-compat-context
Version:
A package that holds React context for compatibility of React Contexts
49 lines (35 loc) • 1.14 kB
Markdown
# package contains the React Context for compat layer in ` /react-portal-compat`.
### Installation
```sh
yarn add /react-portal-compat-context
```
### Usage
> **Note:** These APIs are intended to be used by library developers, please use ` /react-portal-compat` if you need Portal compatibility.
>
> `PortalCompatContextProvider` and `usePortalCompat()` are exported APIs for implementing compat layer.
```tsx
import { PortalCompatContextProvider, usePortalCompat } from '@fluentui/react-portal-compat-context';
function Consumer() {
const registerEl = usePortalCompat();
React.useEffect(() => {
const portalEl = document.createElement('div');
return registerEl(portalEl);
}, [registerEl]);
return null;
}
function App() {
const registerEl = React.useCallback((portalEl: HTMLElement) => {
// do something...
console.log(portalEl);
return () => {
// do something for cleanups...
};
}, []);
return (
<PortalCompatContextProvider value={registerEl}>
<Consumer />
</PortalCompatContextProvider>
);
}
```
/react-portal-compat-context
This