Introduction to ActiveRoute
ActiveRoute is a powerful JavaScript library used to manage client-side routing in web applications. It provides a comprehensive API for defining routes, handling navigation events, and manipulating browser history. In this guide, we will explore various features of ActiveRoute and provide practical examples to help you integrate it into your projects.
Getting Started with ActiveRoute
To start using ActiveRoute, you first need to include the library in your project:
<script src="https://cdn.activeroute.com/active-route.min.js"></script>
Creating Routes
You can define routes in your application by using the Route
class:
const homeRoute = new Route({
path: '/',
component: 'homeComponent'
});
const aboutRoute = new Route({
path: '/about',
component: 'aboutComponent'
});
Navigating Between Routes
ActiveRoute provides methods to navigate programmatically between routes:
// Navigate to home
ActiveRoute.navigate('/');
// Navigate to about page
ActiveRoute.navigate('/about');
Handling Route Parameters
You can capture route parameters and use them in your components:
const userRoute = new Route({
path: '/user/:id',
component: (params) => {
const userId = params.id;
// Fetch user data using userId
}
});
Using Middleware
Middleware functions can be used to execute code before a route is activated:
const authMiddleware = (next) => {
if (!isUserAuthenticated()) {
ActiveRoute.navigate('/login');
} else {
next();
}
};
const protectedRoute = new Route({
path: '/dashboard',
component: 'dashboardComponent',
middleware: [authMiddleware]
});
Loading Components Lazily
You can load components lazily to improve performance:
const lazyLoadComponent = () => {
return import('./components/LazyComponent.js');
};
const lazyRoute = new Route({
path: '/lazy',
component: lazyLoadComponent
});
Full Application Example
Here is a complete example of an application using ActiveRoute:
// Define routes
const routes = [
new Route({ path: '/', component: 'homeComponent' }),
new Route({ path: '/about', component: 'aboutComponent' }),
new Route({ path: '/user/:id', component: 'userComponent' }),
new Route({ path: '/dashboard', component: 'dashboardComponent', middleware: [authMiddleware] })
];
// Initialize router
const router = new ActiveRouter(routes);
// Render components
function homeComponent() {
document.getElementById('app').innerHTML = '<h1>Home</h1>';
}
function aboutComponent() {
document.getElementById('app').innerHTML = '<h1>About</h1>';
}
function userComponent(params) {
document.getElementById('app').innerHTML = `<h1>User: ${params.id}</h1>`;
}
function dashboardComponent() {
document.getElementById('app').innerHTML = '<h1>Dashboard</h1>';
}
// Start routing
router.start();
This example demonstrates how to set up routes, navigate between them programmatically, and render different components based on the active route. You can further customize the behavior and appearance of your application by leveraging other features of ActiveRoute.
Hash: 9079a31e4df6290c8d88144dad0c66d1f95f6f74175c50305643fdb9c0e07034