compose-providers.tsx 398 B

1234567891011121314151617
  1. import type { ComponentType, ReactNode } from "react";
  2. type ComposeProvidersProps = {
  3. providers: ComponentType<{ children: ReactNode }>[];
  4. children?: ReactNode | ReactNode[];
  5. };
  6. export const ComposeProviders = ({
  7. providers,
  8. children,
  9. }: ComposeProvidersProps) => {
  10. let node = children;
  11. for (const Provider of providers) {
  12. node = <Provider>{node}</Provider>;
  13. }
  14. return node;
  15. };