react-router v6.0.0-alpha.5 Release Notes

Release Date: 2020-05-15 // almost 4 years ago
  • Major Features

    • โž• Added <Route preload> and route.preload (JSX and useRoutes) APIs. The preload function will be called when the route has matched and is about to render.
    • โž• Added <NavLink end> and <NavLink caseSensitive> to better control matching behavior of <NavLink>s

    Major Changes

    ๐Ÿš€ Warning: This release breaks compatibility with 6.0.0-alpha.4

    • โœ‚ Removed the <Router history> prop and moved responsibility for setting up/tearing down the listener (history.listen) into the wrapper components (<BrowserRouter>, <HashRouter>, etc.). <Router> is now a controlled component that just sets up context for the rest of the app.
    • ๐Ÿ”„ Changed generatePath so it never returns placeholders. Instead, it will throw if a needed placeholder is missing.
    • โœ‚ Removed usage of React's experimental useTransition hook. We will publish our own "experimental" channel very soon with this hook added back in, but it won't be added back to the "next" channel (or stable) until it goes stable in React core.

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixed and improved several TypeScript interfaces

    ๐Ÿ“„ Docs

    • โž• Added some docs for using the basename functionality to the migration guide

    Installing

    Development for v6 is happening on the dev branch.

    โœ… If you'd like to test it out, install from npm:

    $ npm install react-router@next react-router-dom@next
    

    Or, if you're on React Native:

    $ yarn add react-router@next react-router-native@next
    

    ๐Ÿ“š We are actively working on documentation. For now, if you're just interested in testing things out you may be interested in the getting started guide. If you're interested in upgrading an existing app, please check out the v5 to v6 migration guide.

    Enjoy!