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

问题描述 投票:1回答:1

正如标题所说,我有一张桌子。如果我点击td,我想将用户转发到特定网址。

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

  • 如何动态地将道具传递给组件?
  • 如何手动触发路线?

我在React 0.14.6和react-router 1.0.3上。

我的配置非常简单:

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

客户概述需要触发onClick,并将道具传递给组件。

javascript reactjs react-router
1个回答
3
投票

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

this.prop.route.yourCustomProp

您可以使用this.props.historypush等常规历史模块方法以编程方式使用replace转到新路径:

this.props.history.push('/login')

如果您需要更深入地访问组件中的历史记录,可以使用withRouter HOC。

对于DOM链接,请根据文档使用Link

请注意,此答案已针对react-router v4进行了更新。旧版本的react-router使用旧的历史模块,上面有pushState and replaceState

© www.soinside.com 2019 - 2024. All rights reserved.