openpanel/packages/react-router-v6/src/refine-routes.tsx
Stefan Pejcic 09f9f9502d packages
2024-11-07 19:03:37 +01:00

19 lines
590 B
TypeScript

import React from "react";
import { useResource } from "@refinedev/core";
import { createResourceRoutes } from "./create-resource-routes";
import { Routes } from "react-router-dom";
type RefineRoutesProps = {
children?: (routes: JSX.Element[]) => JSX.Element;
};
export const RefineRoutes = ({ children }: RefineRoutesProps) => {
const { resources: resourcesFromContext } = useResource();
const routes = React.useMemo(() => {
return createResourceRoutes(resourcesFromContext);
}, [resourcesFromContext]);
return children ? children(routes) : <Routes>{routes}</Routes>;
};