Create a new React app:
deno run -A -r https://alephjs.org/init.ts --template=react
In Aleph.js, a page is a
React Component exported
as default from a .jsx or .tsx file in the routes directory.
Each page is associated with a route based on its file name.
Example: If you create routes/about.tsx and it exports a React component
like below, it will be accessible at /about.
export default function About() {
return <h1>About Me</h1>;
}
To learn more about routing, check out the Routing documentation.
Aleph.js provides a Link component to move between pages without refresh whole
page, similarly to a SPA (single-page application).
import { Link } from "aleph/react";
export default function Nav() {
return (
<nav>
<Link to="/">Home</Link>
<Link to="/about">About</Link>
<Link to="/blog/hello-world">Hello World</Link>
</nav>
);
}
In the example above we have three links, each one maps a path (to) to the
specified page:
/ → pages/index.tsx/about → pages/about.tsx/blog/hello-world → pages/blog/$slug.tsxAleph.js also provides a NavLink component that will add active class/style
when the specific page is activated. You can add the active class via
activeClassName or add active style using activeStyle.
import { NavLink } from "aleph/react";
export default function Nav() {
return (
<nav>
<NavLink to="/">Home</NavLink>
<NavLink activeClassName="active" to="/about">About</NavLink>
<NavLink activeStyle={{ color: "red" }} to="/contact">
Contact
</NavLink>
</nav>
);
}