@ice/router
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

@ice/router

NPM version build status Test coverage NPM downloads David deps

Support config routes, and include all react-router-dom abilities, based on react-router-dom.

Install

$ npm i --save @ice/router

Usage

Write router config:

// src/config/routes.js
import UserLayout from '../layouts/UserLayout';
import Home from '../pages/Home';
import UserLogin from '../pages/UserLogin';
import UserRegistry from '../pages/UserRegistry';

const routerConfig = [
  {
    path: '/',
    component: Home
  },
  {
    path: '/user',
    component: UserLayout,
    children: [{
      path: '/login',
      exact: true,
      component: UserLogin
    }, {
      path: '/registry',
      component: UserRegistry
    }, {
      path: '/',
      redirect: '/user/login'
    }]
  }
];
export default routerConfig;

Render router config by @ice/app:

import React from 'react';
import ReactDOM from 'react-dom';
import { Router } from '@ice/router';
import routerConfig from './config/routes';

ReactDOM.render(
  <Router routes={routerConfig} />,
  mountNode
);

API

import {
  Router,

  // same with react-router-dom
  BrowserRouter,
  HashRouter,
  Link,
  Switch,
  Redirect,
  Route,
  withRouter,
  useHistory,
  useLocation,
  useParams,
  Prompt,
  NavLink,
  MemoryRouter,
  StaticRouter,
  generatePath,
  matchPath,
  useRouteMatch,
} from '@ice/router';

Router Component props:

  • routes: array
  • basename: string
  • type: 'hash' | 'browser'

Readme

Keywords

none

Package Sidebar

Install

npm i @ice/router

Weekly Downloads

17

Version

0.1.3

License

none

Unpacked Size

21.7 kB

Total Files

14

Last publish

Collaborators

  • linbudu
  • answershuto
  • chenjun1011
  • luhengchang228
  • sobear
  • clarkxia
  • rax-publisher