native-router-react

0.12.0 • Public • Published

npm Build Status Coverage install size

Native Router React

A route close to the native experience for react.

English | 简体中文

Features

  • Asynchronous navigation
  • Cancelable
  • Page data concurrent fetch
  • Link prefetch and preview
  • Most unused features can be tree-shaking
  • SSR support

Install

npm i native-router-react

Usage

import {View, HistoryRouter as Router} from 'native-router-react';
import Loading from '@/components/Loading';
import RouterError from '@/components/RouterError';
import * as userService from '@/services/user';

export default function App() {
  return (
    <Router
      routes={{
        component: () => import('./Layout'),
        children: [
          {
            path: '/',
            component: () => import('./Home')
          },
          {
            path: '/users',
            component: () => import('./UserList'),
            data: userService.fetchList
          },
          {
            path: '/users/:id',
            component: () => import('./UserProfile'),
            data: ({id}) => userService.fetchById(+id)
          },
          {
            path: '/help',
            component: () => import('./Help')
          },
          {
            path: '/about',
            component: () => import('./About')
          }
        ]
      }}
      baseUrl="/demos"
      errorHandler={(e) => <RouterError error={e} />}
    >
      <View />
      <Loading />
    </Router>
  );
}

See demos for a complete example.

Documentation

API

Package Sidebar

Install

npm i native-router-react

Weekly Downloads

3

Version

0.12.0

License

MIT

Unpacked Size

87.2 kB

Total Files

20

Last publish

Collaborators

  • wmzy