javascript - 如何将 React Router location prop 传递给组件?

标签 javascript reactjs routes react-router

我正在尝试弄清楚如何将 React Router 的 location prop 传递给组件。

我有一个这样定义的路线:

<Route
  path="placeholder"
  render={(props) => <Navigation {...props} />}
/>

在我的导航组件中,我在渲染方法中执行 console.log(this.props); 只是为了获得一个空对象。是什么赋予了? location 属性不是应该自动提供给路由内的任何组件吗?

顺便说一句,我使用的是 react-router-dom 版本 4.2.2

最佳答案

您需要使用 withRouter 包装您的组件为了在您的组件属性中注入(inject)matchhistorylocation

import { withRouter } from 'react-router-dom';
class Navigation extends React.Component {

  render() {
    const { match, location, history } = this.props
    return (
      <div>{location.pathname}</div>
    )
  }
}

export default withRouter(Navigation)

关于javascript - 如何将 React Router location prop 传递给组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51203629/

相关文章:

javascript - 当我悬停时下拉菜单不显示

javascript - 我无法在我的 React Native 上使用 apploading。它不会正常工作

javascript - AngularJS:UI Router 不加载内联模板和 Controller

Node.js Express DELETE 路由不起作用

javascript - 如何使用 asp.net 从文本框中调用函数?

javascript - Cordova 应用程序中的应用程序缓存

javascript - 如何从 Javascript 或 Nodejs 执行 Python 脚本?

javascript - 为什么要在小书签中检查 !document.xmlVersion?

javascript - 当子组件触发父组件的状态更改时,如何防止父组件重新渲染

php - CodeIgniter 路由文件夹错误