Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用React路由器手动触发路由?_Javascript_Reactjs_React Router - Fatal编程技术网

Javascript 如何使用React路由器手动触发路由?

Javascript 如何使用React路由器手动触发路由?,javascript,reactjs,react-router,Javascript,Reactjs,React Router,正如标题所说,我有一张桌子。如果我点击一个td,我想把用户转发到一个特定的url 现在我需要将一个对象传递给要渲染的组件 如何动态地将道具传递给组件 如何手动触发路由 我使用的是React 0.14.6和React路由器1.0.3 我的配置非常简单: <Provider store={store}> <Router> <Route path='/' component={App}> <IndexRoute comp

正如标题所说,我有一张桌子。如果我点击一个td,我想把用户转发到一个特定的url

现在我需要将一个对象传递给要渲染的组件

  • 如何动态地将道具传递给组件
  • 如何手动触发路由
我使用的是React 0.14.6和React路由器1.0.3

我的配置非常简单:

<Provider store={store}>
    <Router>
      <Route path='/' component={App}>
        <IndexRoute component={SearchCustomer}/>
        <Route path='customerOverview/:props' component={CustomerOverview}/>
      </Route>
    </Router>
  </Provider>


单击要解析到组件的道具时,需要触发customerOverview n。

通过的道具可以从
this.props.route
访问:

this.props.route.yourCustomProp
您可以通过
this.props.history
使用常规历史记录模块方法,如和,以编程方式转到新路线:

如果您需要访问组件中更深层次的历史道具,可以使用HOC

对于DOM链接,请按照文档使用


注意:此答案已针对react路由器v4更新。react router的旧版本使用了一个旧的历史模块,该模块上有一个链接。

您是否尝试过使用Link to={your url}?这其实是不正确的。pushState方法的函数签名是(state object,title,url),带有“title current ignored”(标题当前已被忽略),谢谢。我认为这有点过时了。我已经更新了它,因为历史道具使用了历史包,其中包含“push”和“replace”,其中包含1-2个参数
this.props.history.push('/login')