Rasengan Logo
Rasengan Logo
  • Docs
  • Blog
  • Showcase
Using stable versionv1.2.1
Documentation
Packages
Templates
Rasengan UI Kit
Using stable versionv1.2.1
Documentation
Packages
Templates
Rasengan UI Kit

CORE CONCEPTS

Redirecting

There are a few ways you can handle redirects in Rasengan.js. This page will go through each available option, use cases, and how to manage large numbers of redirects.

ApiDescriptionWhere to use
useNavigatePerform a client-side redirectionEvent Handlers in Client Components
PageComponent.loader()Enable redirection on the server.During the server-side rendering process.
LayoutComponent.loader()Enable redirection on the server.During the server-side rendering process.

useNavigate hook

The useNavigate hook is used to perform client-side redirections.

TypeScript
JavaScript
src/components/LogoutButton.tsx
import React from "react"; import { useNavigate } from "rasengan"; export default function LogoutButton() { const navigate = useNavigate(); const logout = async () => { try { // Logout logic Here navigate("/sign-in"); } catch (error) { console.error(error); } } return ( <button onClick={logout}>Logout</button> ) }

PageComponent.loader() function

Similar to LayoutComponent.loader(), the PageComponent.loader() function is a special function used for SSR (Server-Side Rendering) like getServerSideProps in Next.js.

So, you can perform server-side redirections using this function and it can only be used in Page Components.

TypeScript
JavaScript
src/app/redirection.page.tsx
import React from "react"; import { PageComponent, LoaderResponse } from "rasengan"; const RedirectionPage: PageComponent = () => { return ( <div> <h1>Redirecting...</h1> </div> ) } RedirectionPage.path = "/somewhere"; RedirectionPage.metadata = { title: "Redirect", description: "Redirecting to somewhere", } // Used to perform server-side operations RedirectionPage.loader = async (): Promise<LoaderResponse> => { /** * You have the possibility to perform some logic here for example, making API calls * checking if the user is authenticated, etc. */ return { redirect: "/destination" } } export default RedirectionPage;

The loader function can receive an object argument containing:

  • a request instance: The request object from the server.
  • a param object: The parameters from the URL.
TypeScript
JavaScript
src/app/redirection.page.tsx
import React from "react"; import { PageComponent, LoaderResponse, LoaderOptions } from "rasengan"; const RedirectionPage: PageComponent = () => { return ( <div> <h1>Redirecting...</h1> </div> ) } RedirectionPage.path = "/somewhere"; RedirectionPage.metadata = { title: "Redirect", description: "Redirecting to somewhere", } // Used to perform server-side operations RedirectionPage.loader = async ({ params, request }: LoaderOptions): Promise<LoaderResponse> { /** * You have the possibility to perform some logic here for example, making API calls * checking if the user is authenticated, etc. * * You can also access the request object from the server and the params object */ return { redirect: "/destination" } } export default RedirectionPage;
Error Handling
Server-Side Rendering

On This Page

  • useNavigate hook
  • PageComponent.loader() function

Discover Plus Ultra ✨

A stunning and well crafted Portfolio website to showcase your work in a nice way.

Rasengan Logo
Rasengan Logo

Resources

  • Docs
  • Packages
  • Blog
  • Showcase
  • Support us

Products

  • Rasengan UI
  • Rasengan Hub
  • Chidori
  • Nindo
  • Chunin

Community

  • Github
  • X (Twitter)

Subscribe to the Newsletter

Stay informed to the news about rasengan.js including new releases, events, etc...

© 2024-2026 Rasengan Labs, All rights reserved.