openpanel/packages/react-router-v6/src/refine-routes.tsx
2024-02-05 10:23:04 +01:00

19 lines
604 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>;
};