React Router 4. 获取活动路由

穆舍格·达夫泰恩

我有代码

路由器.js

import React from 'react';
import {render} from "react-dom";
import history from './history';
import {Router, Route} from 'react-router'

import Main from "./main/component";
import Profile from "./profile/component";
import TextStatus from "./textstatus/component";
import ContactList from "./contactlist/component";

render((
  <Router history={history}>
    <Main>
      <Route
        path="/:user_name"
        component={Profile}
        component_id="Profile"
      />
      <Route
        path="/:user_name/status"
        component={TextStatus}
        component_id="TextStatus"
      />
      <Route
        path="/:user_name/contacts"
        component={ContactList}
        component_id="ContactList"
      />
    </Main>
  </Router>

), document.getElementById("main"));

历史.js

import createBrowserHistory from 'history/createBrowserHistory'
const history = createBrowserHistory();
export default history;

main/component.js //主布局

import React from 'react';
class Main extends React.Component {
   render() {
      return (this.props.children)
   }
}

如何在 Main 组件中获取当前路由 (component_id)?

在反应路由器 1.0.3 我这样做了: this.props.children.props.route.component_id

感谢您的关注!

丹麦人

React v16.8+ 和 React Router v5+ 的更新

使用useLocation钩子。

import { useLocation } from 'react-router-dom';

const Main = ({ children }) => {
  const location = useLocation();
  
  console.log(location.pathname); // outputs currently active route
  return children;
};

export default Main;

用 包裹您的组件,withRouter然后您可以使用this.props.location.pathname.

例如:

import React from 'react';
class Main extends React.Component {
   render() {
      console.log(this.props.location.pathname); // outputs currently active route
      return (this.props.children)
   }
}
export default withRouter(Main);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Router 4 路由属性

来自分类Dev

按名称获取路由路径React Router

来自分类Dev

根据路径使用 React Router 4 应用活动类

来自分类Dev

React Router 6 alpha 4嵌套路由

来自分类Dev

React-Router v4 添加子路由

来自分类Dev

React Router v4 - 嵌套路由问题

来自分类Dev

React Router 4:将路由道具传递给布局组件

来自分类Dev

一些路由与 react-router 4 不匹配

来自分类Dev

多级静态路由架构 react router v4

来自分类Dev

react-router索引路由始终处于活动状态

来自分类Dev

React Router 4 类型无效

来自分类Dev

在react-router中获取特定路由的路径

来自分类Dev

在使用react-router更改路由之前获取数据

来自分类Dev

无法获得活动链接以使用 React Router v4

来自分类Dev

无法使用路由器上下文[react-router v4]

来自分类Dev

使用React Router v4的嵌套路由-解决方案

来自分类Dev

React Router V4 - 页面不会在更改的路由上重新呈现

来自分类Dev

React-router-dom v4 路由以及如何在子组件内部显示

来自分类Dev

React Router (Dom) v4 在输入时重定向到不同的路由回车键

来自分类Dev

Browserify + WebStorm 调试中断了 React-Router v4 BrowserRouter 中的路由

来自分类Dev

React router v4,将未知路由重定向到主页/根页面

来自分类Dev

如何使用 React Router 4 单击按钮并导航到带有 URL 参数的新路由

来自分类Dev

使用 React Router V4 重定向到 ReactJS 组件上的服务器路由

来自分类Dev

如何使用 React Router v4(边栏)创建多个路由?

来自分类Dev

如何使用 React Router v4 将错误路由重定向到特定页面

来自分类Dev

Apache 2.4 + React Router 4 总是路由到我的 404 页面组件

来自分类Dev

在 react-router v4 中看到嵌套路由中的空白页

来自分类Dev

使用React Router当前路由在菜单上有条件地设置活动类

来自分类Dev

React-Router活动类不适用于嵌套路由

Related 相关文章

  1. 1

    React Router 4 路由属性

  2. 2

    按名称获取路由路径React Router

  3. 3

    根据路径使用 React Router 4 应用活动类

  4. 4

    React Router 6 alpha 4嵌套路由

  5. 5

    React-Router v4 添加子路由

  6. 6

    React Router v4 - 嵌套路由问题

  7. 7

    React Router 4:将路由道具传递给布局组件

  8. 8

    一些路由与 react-router 4 不匹配

  9. 9

    多级静态路由架构 react router v4

  10. 10

    react-router索引路由始终处于活动状态

  11. 11

    React Router 4 类型无效

  12. 12

    在react-router中获取特定路由的路径

  13. 13

    在使用react-router更改路由之前获取数据

  14. 14

    无法获得活动链接以使用 React Router v4

  15. 15

    无法使用路由器上下文[react-router v4]

  16. 16

    使用React Router v4的嵌套路由-解决方案

  17. 17

    React Router V4 - 页面不会在更改的路由上重新呈现

  18. 18

    React-router-dom v4 路由以及如何在子组件内部显示

  19. 19

    React Router (Dom) v4 在输入时重定向到不同的路由回车键

  20. 20

    Browserify + WebStorm 调试中断了 React-Router v4 BrowserRouter 中的路由

  21. 21

    React router v4,将未知路由重定向到主页/根页面

  22. 22

    如何使用 React Router 4 单击按钮并导航到带有 URL 参数的新路由

  23. 23

    使用 React Router V4 重定向到 ReactJS 组件上的服务器路由

  24. 24

    如何使用 React Router v4(边栏)创建多个路由?

  25. 25

    如何使用 React Router v4 将错误路由重定向到特定页面

  26. 26

    Apache 2.4 + React Router 4 总是路由到我的 404 页面组件

  27. 27

    在 react-router v4 中看到嵌套路由中的空白页

  28. 28

    使用React Router当前路由在菜单上有条件地设置活动类

  29. 29

    React-Router活动类不适用于嵌套路由

热门标签

归档