Javascript 如何使用React路由器手动触发路由?
正如标题所说,我有一张桌子。如果我点击一个td,我想把用户转发到一个特定的url 现在我需要将一个对象传递给要渲染的组件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
- 如何动态地将道具传递给组件
- 如何手动触发路由
<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')