react-router | Declarative routing for React | Router library

 by   remix-run TypeScript Version: 6.22.1-pre.0 License: MIT

kandi X-RAY | react-router Summary

kandi X-RAY | react-router Summary

react-router is a TypeScript library typically used in Networking, Router, React applications. react-router has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

React Router is developed and maintained by Remix Software and many amazing contributors.

            kandi-support Support

              react-router has a medium active ecosystem.
              It has 50521 star(s) with 10063 fork(s). There are 816 watchers for this library.
              There were 10 major release(s) in the last 6 months.
              There are 34 open issues and 7009 have been closed. On average issues are closed in 79 days. There are 8 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of react-router is 6.22.1-pre.0

            kandi-Quality Quality

              react-router has 0 bugs and 0 code smells.

            kandi-Security Security

              react-router has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              react-router code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              react-router is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              react-router releases are available to install and integrate.
              It has 318 lines of code, 0 functions and 146 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed react-router and discovered the below as its top functions. This is intended to give you an instant insight into react-router implemented functionality, and help decide if they suit your requirements.
            • The react DOM node .
            • Create a react router
            • - - - - - - - - router
            • Run the react - router .
            • Create a server instance
            • React to react - native router
            • Gets the next version from given a given version .
            • Ensures that package version exists in package . json
            • Creates a banner block .
            • Ensures that the working directory is empty .
            Get all kandi verified functions for this library.

            react-router Key Features

            No Key Features are available at this moment for react-router.

            react-router Examples and Code Snippets

            JavaScriptdot img1Lines of Code : 322dot img1License : Permissive (MIT)
            copy iconCopy
            $ npm install redux react-redux redux-thunk --save
              "id": "8",
              "name": "科学幻想",
              "desc": "简称科幻,是虚构作品的一种类型,描述诸如未来科技、时间旅行、超光速旅行、平行宇宙、外星生命、人工智能、错置历史等有关科学的想象性内容。"
            get      /api/genres     获取列表数据
            post     /api/genre      添加或编辑数据
            delete   /api/gen  
            copy iconCopy
            // api/ajax.js
            import axios from 'axios'
            export default function ajax(url = '',data = {}, type = 'GET') {
              if (type === 'GET') {
                // 准备url query参数数据
                let dataStr = ''
                Object.keys(data).forEach(key => {
                  dataStr += `${key}=${data[ke  
            JavaScriptdot img3Lines of Code : 228dot img3no licencesLicense : No License
            copy iconCopy
            npm install -g create-react-app // 安装全局命令
            create-react-app my-app-demo // 创建项目
            cd my-app-demo // 进入项目目录
            npm run eject // 放出配置文件,执行后项目目录下多了config和scrips目录
            yarn // 安装依赖
            yarn start // 启动项目,浏览器会自动打开http://localhost:3000/,项目启动成功
            yarn add react-route  
            You cannot render a inside another . You should never have more than one in your app
            Lines of Code : 4dot img4License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            npm uninstall react-router-dom
            npm install react-router-dom@5.3.0
            React-router-v6 access a url parameter
            Lines of Code : 17dot img5License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            const withRouter = WrappedComponent => props => {
              const params = useParams();
              // etc... other react-router-dom v6 hooks
              return (
            export default withRouter(Post);
            Router and redirect in React.js
            Lines of Code : 40dot img6License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            npm un -s react-router-dom react-dom
            npm i -s react-router-dom@5 react-dom@5
            npm un -s react-router
            npm un -s react-router-dom react-router
            Struggling for passing React routing param
            Lines of Code : 29dot img7License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            import { useLocation, useNavigate } from 'react-router-dom';
            const withRouter = WrappedComponent => props => {
              const location = useLocation();
              const navigate = useNavigate();
              // etc... other react-router-dom v6 hooks
            React Router useHistory Hook matching wrong component page
            Lines of Code : 43dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            npm uninstall react-router-dom 
            npm install react-router-dom@6
            import "./App.css";
            import Home from "./Home";
            import Checkout from "./Checkout";
            import Login from "./Login";
            import Payment 
            React Router prevent random route
            Lines of Code : 13dot img9License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
                  {/* Could I somehow achieve this here? */}
            function RedirectHook() {
              history = useHistory() // which imported from react-router-dom
              useEffect(() => {
              return null
            How do I pass data through a react route
            Lines of Code : 19dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            const RandomComponent = (props) => {
                const history = useHistory();
                const forwardToPage = () => {
                    history.push({ pathname: "/", state: data})
            const CreateRoom

            Community Discussions


            Why items appends to the redux rather than replace?
            Asked 2022-Apr-16 at 08:11

            I'm newbie to Reactjs. The problem I'm encountered:

            When Article page loads in the first time, all is fine and there are 10 articles shown. When I click on the browser back button, and then I go to the Article page for the second time, the article-list will be duplicated (so, it will be 20 articles). If I do so again, it will be 30 articles and so on ..

            I want to know, why the result of API call appends for the Redux and not replace? In other word, how can I clean the Redux on page load every time? The expected result is seeing always 10 item (articles) on the page Article when I open it.

            Here is a simplified of the element (for navigating to the list of articles) in the main page:



            Answered 2022-Apr-16 at 08:11
            case ReducerTypes.GET_ALL_POSTS:
                        return {
                            posts: {
                                items: action.payload.items,
                                pagination: action.payload.pagination



            is there a way to set a default route with React-Router v6
            Asked 2022-Apr-04 at 17:48

            I just can't find a way to set a default route with react-router v6

            Is it because it's not good programming anymore?

            Can somebody tell me why?

            Thanks in advance




            Answered 2022-Apr-04 at 17:48

            If I understand your question about a "default" route correctly then I am interpreting this as one of the following:

            1. Use an index route:

              You can wrap a set of routes in a layout route and specify an index route:



            useNavigate() may be used only in the context of a component
            Asked 2022-Apr-02 at 20:39

            My code currently is this and I'm trying to add this button that goes back to the previous page using react-router-dom but I get an error saying 'useNavigate() may be used only in the context of a component.' and also all the components on my website disappears.



            Answered 2022-Mar-08 at 07:27

            This error throws in useNavigate. useInRouterContext will check if the component is a descendant of a .

            Here's the source code to explain why you can't use useNavigate, useLocation outside of the Router component:

            useNavigate uses useLocation underly, useLocation will get the location from LocationContext. If you want to get the react context, you should render the component as the descendant of a context provider. Router component use the LocationContext.Provider and NavigationContext.Provider. That's why you need to render the component as the children, so that useNavigate hook can get the context data from NavigationContext and LocationContext providers.

            Your environment is browser, so you need to use BrowserRouter. BrowserRouter is built based on Router.

            Refactor to this:




            Error: [Home] is not a component. All component children of must be a or
            Asked 2022-Apr-01 at 11:28

            Hello fellow friends I am trying to create my own app but facing issues after updating the react-router-dom to 6.02 I am getting this error

            Error: [Home] is not a Route component. All component children of Routes must be a Route or

            the code is the following



            Answered 2021-Nov-15 at 14:23


            Error: useHref() may be used only in the context of a component. It works when I directly put the url as localhost:3000/experiences
            Asked 2022-Mar-30 at 02:44

            I have a navbar that is rendered in every route while the route changes on click.




            Answered 2022-Feb-09 at 23:28

            You are rendering the navbar outside the routing context. The Router isn't aware of what routes the links are attempting to link to that it is managing. The reason routing works when directly navigating to "/experiences" is because the Router is aware of the URL when the app mounts.



            React router v6 how to use `navigate` redirection in axios interceptor
            Asked 2022-Mar-28 at 18:26
            import axios from "axios";
            import { useNavigate } from "react-router-dom";
            export const api = axios.create({
              baseURL: "",
              headers: {
                "content-type": "application/json",
              function (response) {
                return response;
              function (er) {
                if (axios.isAxiosError(er)) {
                  if (er.response) {
                    if (er.response.status == 401) {
                      // Won't work
                return Promise.reject(er);


            Answered 2021-Nov-17 at 02:14

            The reason this is not working is because you can only consume hooks inside a React component or a custom hook.

            Since this is neither, hence the useNavigate() hook is failing.

            My advice would be to wrap the entire logic inside a custom hook.

            Pseudo code :



            react router v6 navigate outside of components
            Asked 2022-Mar-28 at 11:19

            In react-router v5 i created history object like this:



            Answered 2021-Nov-17 at 07:20

            Well, it turns out you can duplicate the behavior if you implement a custom router that instantiates the history state in the same manner as RRDv6 routers.

            Examine the BrowserRouter implementation for example:



            The unauthenticated git protocol on port 9418 is no longer supported
            Asked 2022-Mar-27 at 13:23

            I have been using github actions for quite sometime but today my deployments started failing. Below is the error from github action logs



            Answered 2022-Mar-16 at 07:01

            First, this error message is indeed expected on Jan. 11th, 2022.
            See "Improving Git protocol security on GitHub".

            January 11, 2022 Final brownout.

            This is the full brownout period where we’ll temporarily stop accepting the deprecated key and signature types, ciphers, and MACs, and the unencrypted Git protocol.
            This will help clients discover any lingering use of older keys or old URLs.

            Second, check your package.json dependencies for any git:// URL, as in this example, fixed in this PR.

            As noted by Jörg W Mittag:

            There was a 4-month warning.
            The entire Internet has been moving away from unauthenticated, unencrypted protocols for a decade, it's not like this is a huge surprise.

            Personally, I consider it less an "issue" and more "detecting unmaintained dependencies".

            Plus, this is still only the brownout period, so the protocol will only be disabled for a short period of time, allowing developers to discover the problem.

            The permanent shutdown is not until March 15th.

            For GitHub Actions:

            As in actions/checkout issue 14, you can add as a first step:



            What is the alternative for Redirect in react-router-dom v 6.0.0?
            Asked 2022-Mar-25 at 17:49

            New version of react-router-dom (v6.0.0) doesn't identify "Redirect". What is the alternative for it?



            Answered 2021-Nov-14 at 09:17

            Here is what the react-router-dom teams said on the matter of redirects when that removed that API in v6:



            How to redirect in React Router v6?
            Asked 2022-Mar-24 at 17:22

            I am trying to upgrade to React Router v6 (react-router-dom 6.0.1).

            Here is my updated code:



            Answered 2022-Mar-18 at 18:41

            I think you should use the no match route approach.

            Check this in the documentation.



            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install react-router

            You can download it from GitHub.


            There are many different ways to contribute to React Router's development. If you're interested, check out our contributing guidelines to learn how you can get involved.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • npm

            npm i react-router

          • CLONE
          • HTTPS


          • CLI

            gh repo clone remix-run/react-router

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Router Libraries


            by remix-run


            by ReactTraining


            by vuejs


            by gorilla


            by angular-ui

            Try Top Libraries by remix-run


            by remix-runTypeScript


            by remix-runJavaScript


            by remix-runTypeScript


            by remix-runTypeScript


            by remix-runTypeScript