solid-router
TypeScript icon, indicating that this package has built-in type declarations

0.3.3 • Public • Published

solid-router

Build Status version NPM

A declarative router for solid-js

Installation

npm install solid-router

Usage

Simple routing

import { render } from 'solid-js/dom';
import { ContextProvider } from 'solid-router';
 
render(
  () => (
    <ContextProvider>
      <div>
        <Router fallback={<p>404 Page</p>}>
          <Route path="/">
            <p>HomePage</p>
          </Route>
          <Route path="/about">
            <p>AboutPage</p>
          </Route>
        </Router>
      </div>
    </ContextProvider>
  ),
  document.getElementById('root'),
);

Server Side Rendering

import http from 'http';
import { renderToString } from 'solid-js/dom';
import { ContextProvider } from 'solid-router/server';
 
import App from './app';
 
const server = http.createServer(async (req, res) => {
  res.write(
    await renderToString(() => (
      <ContextProvider
        options={{
          initialEntries: [req.url],
        }}
      >
        <App />
      </ContextProvider>
    )),
  );
  res.end();
});
 
server.listen(8080, () => {
  console.log('application running at port 8080');
});

Examples

Package Sidebar

Install

npm i solid-router

Weekly Downloads

0

Version

0.3.3

License

MIT

Unpacked Size

34.6 kB

Total Files

31

Last publish

Collaborators

  • minhducle.dev