Angular v18 route's redirectTo property can be a function

nhannguyendevjs

Nhan Nguyen

Posted on June 3, 2024

Angular v18 route's redirectTo property can be a function

In πŸ…°οΈ Angular v18, a route's redirectTo property can be a function that returns a string or UrlTree.

We can create more dynamic redirects based on the application's state:

const routes: Routes = [
  { path: "first-component", component: FirstComponent },
  {
    path: "old-user-page",
    redirectTo: ({ queryParams }) => {
      const errorHandler = inject(ErrorHandler);
      const userIdParam = queryParams['userId'];
      if (userIdParam !== undefined) {
        return `/user/${userIdParam}`;
      } else {
        errorHandler.handleError(new Error('Attempted navigation to user page without user ID.'));
        return `/not-found`;
      }
    },
  },
  { path: "user/:userId", component: OtherComponent },
];
Enter fullscreen mode Exit fullscreen mode

Check it out πŸ‘‰ https://angular.dev/guide/routing/common-router-tasks#setting-up-redirects


I hope you found it helpful. Thanks for reading. πŸ™

Let's get connected! You can find me on:

πŸ’– πŸ’ͺ πŸ™… 🚩
nhannguyendevjs
Nhan Nguyen

Posted on June 3, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related