我正在使用react-router-dom
,并希望在重定向时将:id
传递给我的第一条路线(/
)。我希望这样做的原因是我可以访问:id
组件中的Interface
并保持我的SPA网址一致。有可能这样做吗?
路由
ReactDOM.render(<Router>
<MuiThemeProvider muiTheme={muiTheme}>
<div style={styles.pageContainer}>
<div style={styles.bodyContainer}>
<Switch>
<Route exact path="/" component={Interface}/>
<Redirect path="/join/:id" to="/"/>
</Switch>
</div>
</div>
</MuiThemeProvider>
</Router>, document.getElementById('app'));
答案 0 :(得分:1)
您可以使用Route
来匹配:id
参数,并将其传递到位置状态:
<Route exact path='/join/:id' render={({match}) =>
<Redirect to={{pathname: "/", state: {id: match.params.id}}}/>}
/>
在Interface
中,您可以使用props.location.state.id
访问ID。