将不在URL中的道具从<link />传递到<route>

时间:2018-01-10 08:29:26

标签: reactjs react-router

除了在网址中有参数外,有没有办法将prop从第一个组件通过<Link>传递到<Route>

如果参数在URL中,则可以更改,这是不可能的。

class FirstComponent extends React.Component {
    render() {
        return (
            <Link to={ "/app/secondcomponent/test_article_name" }>Link to SecondComponent</Link>
        )
    }
}

ReactDOM.render(
    <BrowserRouter>
        <Switch>
            <Route exact path="/app/secondcomponent/:article_name" render = {(routeProps) => ( <SecondCompnent {...routeProps} mytestprop="testprop" /> )} />
        </Switch>
    </BrowserRouter>,
    document.getElementById('app')
); 

以上<Link>将“test_article_name”作为参数传递。我想通过重写网址将额外的prop传递给<Route>无法更改。

如果这是不可能的,我会让第二个组件从服务器中提取我需要的支持,但这意味着额外的API调用。

0 个答案:

没有答案