重定向后如何将道具传递到我的主路线?

时间:2018-04-21 00:14:04

标签: javascript node.js reactjs react-router

我正在使用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'));

1 个答案:

答案 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。