API Reference
Components
Head
Manage document head elements (title, meta tags, etc.) using native DOM head management.
Import:
import Head from 'aplos/head';
Usage:
export default function MyPage() { return ( <> <Head> <title>My Page Title</title> <meta name="description" content="Page description" /> <meta property="og:title" content="My Page" /> </Head> <div> <h1>Page Content</h1> </div> </> ); }
Props:
children: React elements representing head tags
Example with multiple tags:
<Head> <title>Blog Post - My Site</title> <meta name="description" content="An amazing blog post" /> <meta name="keywords" content="react, aplos, tutorial" /> <link rel="canonical" href="https://example.com/blog/post" /> </Head>
Link
Navigation component for client-side routing (wrapper around React Router's Link).
Import:
import { Link } from 'aplos/navigation';
Usage:
export default function Navigation() { return ( <nav> <Link to="/">Home</Link> <Link to="/about">About</Link> <Link to="/blog">Blog</Link> </nav> ); }
Props:
All props from React Router's Link component are supported:
to(required): The destination pathreplace: Replace current entry in history stackstate: State to pass to the locationpreventScrollReset: Prevent scroll reset on navigation- And all standard anchor tag attributes
Example with styling:
<Link to="/profile" className="nav-link" style={{ color: 'blue' }} > Profile </Link>
Utilities
getConfig
Access runtime configuration values defined in aplos.config.js.
Import:
import getConfig from 'aplos/config';
Usage:
export default function ApiClient() { const config = getConfig(); return ( <div> <p>API Base URL: {config.api_base_url}</p> <p>Environment: {config.environment}</p> </div> ); }
Returns:
An object containing all values from publicRuntimeConfig in your aplos.config.js.
Configuration:
// aplos.config.js module.exports = { publicRuntimeConfig: { api_base_url: process.env.API_BASE_URL, environment: process.env.NODE_ENV } }
See Runtime Configuration for more details.
React Router Hooks
Aplos uses React Router under the hood. You can use all React Router hooks:
useParams
Access dynamic route parameters:
import { useParams } from 'react-router-dom'; export default function BlogPost() { const { slug } = useParams(); return <h1>Post: {slug}</h1>; }
useNavigate
Programmatic navigation:
import { useNavigate } from 'react-router-dom'; export default function LoginPage() { const navigate = useNavigate(); const handleLogin = () => { // After login... navigate('/dashboard'); }; return <button onClick={handleLogin}>Login</button>; }
useLocation
Access current location:
import { useLocation } from 'react-router-dom'; export default function Header() { const location = useLocation(); return <div>Current path: {location.pathname}</div>; }
useSearchParams
Access and manipulate URL query parameters:
import { useSearchParams } from 'react-router-dom'; export default function SearchPage() { const [searchParams, setSearchParams] = useSearchParams(); const query = searchParams.get('q'); return <div>Searching for: {query}</div>; }
useMatch
Check if the current URL matches a given pattern:
import { useMatch } from 'react-router-dom'; export default function NavItem({ to, children }) { const match = useMatch(to); return <a className={match ? 'active' : ''} href={to}>{children}</a>; }
NavLink
Navigation link that automatically applies an active class when the route matches:
import { NavLink } from 'aplos/navigation'; export default function Navigation() { return ( <nav> <NavLink to="/" className={({ isActive }) => isActive ? 'active' : ''}> Home </NavLink> </nav> ); }
Navigate
Component for declarative redirects:
import { Navigate } from 'aplos/navigation'; export default function OldPage() { return <Navigate to="/new-page" replace />; }
Outlet
Renders child routes in a layout component:
import { Outlet } from 'aplos/navigation'; export default function Layout() { return ( <div> <nav>...</nav> <main> <Outlet /> </main> </div> ); }
For more React Router hooks, see the React Router documentation.