javascript - 将 props 传递给 React Router 4 中的组件

标签 javascript reactjs react-router

我是react-router新手,我刚刚开始使用react-router V4编写一个应用程序。我想将 props 传递给 <Match /> 渲染的组件我想知道“最好”或“正确”的方法是什么。

是通过这样做吗?

<Match pattern="/" render={
    (defaultProps) => <MyComponent myProp = {myProp} {...defaultProps} />
}/>

这(将 props 传递给要由 <Match /> 渲染的组件)对于使用 React-router 来说是否是一个很好的实践,或者它是一个反模式还是什么?如果是这样,为什么?

最佳答案

您必须使用 render 属性而不是 component 来传递自定义属性,否则只能 default Route props已传递({match, location, History})。

我将我的 props 传递给 Router 和子组件,如下所示。

class App extends Component {

  render() {
    const {another} = this.props
    return <Routes myVariable={2} myBool another={another}/>
  }
}

const Routes = (props) =>
  <Switch>
    <Route path="/public" render={ (routeProps) => 
      <Public routeProps={routeProps} {...props}/>
    }/>
    <Route path="/login" component={Login}/>
    <PrivateRoute path="/" render={ (routeProps) =>
       ...
    }/>
  </Switch>

关于javascript - 将 props 传递给 React Router 4 中的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39871662/

相关文章:

javascript - 如何复制表单div元素?

javascript - 如何列出 flash 元素公开的可用回调

javascript - 使用 react-router 包装 <button >'s in <Link to=' '>

javascript - react 路由器警告: Received `true` for a non-boolean attribute `exact`

reactjs - 在meteor 1.4+react-router中设置内部图像的路径

javascript - 为此添加一些动态文本。在 native react 中

javascript - React Prop 对象数据未定义

javascript - LocalStorage 在 NEXT.js 的第一个渲染中是空的

javascript - React Router 1.0.0-rc1 的基本实现显示错误

javascript - 获取谷歌地图中点击标记的完整地址