apparent-cyan
apparent-cyan8mo ago

Can you use Refine only on a specific route?

I want to use refine for all my /admin screens but not for the rest of the nextjs13 app
2 Replies
kapa.ai
kapa.ai8mo ago
Hi @synisme. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave: ---------------------- Yes, you can use Refine on specific routes in your Next.js application. Refine provides a flexible routing system that allows you to define your routes separately, giving you more control over your routes. To accomplish this, you would define your resources in the <Refine> component and then create a catch-all route to render the matching route in your resources. Here's an example of how you might set this up:
return (
<Refine
resources={[
{
name: "posts",
list: "/admin/posts",
show: "/admin/posts/show/:id",
},
{
name: "categories",
list: "/admin/categories",
},
]}
>
{/* ... */}
</Refine>
);
return (
<Refine
resources={[
{
name: "posts",
list: "/admin/posts",
show: "/admin/posts/show/:id",
},
{
name: "categories",
list: "/admin/categories",
},
]}
>
{/* ... */}
</Refine>
);
Then, you would create a catch-all route to render the matching route in your resources:
import { RefineRoutes } from "@refinedev/nextjs-router";
import { ErrorPage } from "components/error";

export default function CatchAll() {
return (
<RefineRoutes>
{(matchingRoute) => {
if (matchingRoute) {
return { matchingRoute };
}
return <ErrorPage />;
}}
</RefineRoutes>
);
}
import { RefineRoutes } from "@refinedev/nextjs-router";
import { ErrorPage } from "components/error";

export default function CatchAll() {
return (
<RefineRoutes>
{(matchingRoute) => {
if (matchingRoute) {
return { matchingRoute };
}
return <ErrorPage />;
}}
</RefineRoutes>
);
}
This way, Refine will only be used for your /admin routes, and not for the rest of your Next.js application. For more information, you can refer to the Refine documentation on Next.js router integrations (https://refine.dev/docs/router-integrations/next-js/). ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai8mo ago
<@183085423604662273> kapa.ai is still learning and improving, please let us know how it did by reacting below