JSPM

@fluentui/react-portal-compat-context

0.0.0-nightly-20250303-0407.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 131955
  • Score
    100M100P100Q181964F
  • License MIT

A package that holds React context for compatibility of React Contexts

Package Exports

    Readme

    @fluentui/react-portal-compat-context

    This package contains the React Context for compat layer in @fluentui/react-portal-compat.

    Installation

    yarn add @fluentui/react-portal-compat-context

    Usage

    Note: These APIs are intended to be used by library developers, please use @fluentui/react-portal-compat if you need Portal compatibility.

    PortalCompatContextProvider and usePortalCompat() are exported APIs for implementing compat layer.

    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>
      );
    }