Reactjs 反应路由器-如何自动将当前参数传递给“”?

Reactjs 反应路由器-如何自动将当前参数传递给“”?,reactjs,react-router,Reactjs,React Router,使用react路由器,我希望我的URL的第一个标记是该网站将使用英语、法语、西班牙语等语言进行国际化。例如: http://example.com/#/en http://example.com/#/en/help 或 我的路线目前看起来像这样: <Route path="/"> <Route handler={App} path="/:lang/?"> <NotFoundRoute handler={NotFound}/>

使用react路由器,我希望我的URL的第一个标记是该网站将使用英语、法语、西班牙语等语言进行国际化。例如:

http://example.com/#/en
http://example.com/#/en/help

我的路线目前看起来像这样:

<Route path="/">
    <Route handler={App} path="/:lang/?">
        <NotFoundRoute handler={NotFound}/>
        <DefaultRoute name="index" handler={Index} />
        <Route name="help" path="help" handler={Help} />
    </Route>

    /* add a default lang */
    <Redirect from="/" to="index" params={{lang: 'en'}} />
</Route>

但是,由于/:lang/part下面的所有路由始终具有相同的lang,在创建链接时,有没有一种方法可以自动传递lang参数而不必显式添加它?

您可以创建一个自定义组件来自动设置参数。。。大概是这样的:

//LangLink组件 var LangLink=React.createClass{ 渲染:函数{ 返回{this.props.children}; } }; //应用程序 var App=React.createClass{ 渲染:函数{ 返回我的链接; }
};你的解决方案对我不起作用,因为我必须在任何地方传递lang道具。但我稍微改变了你的想法,找到了我想要的。在LangLink的呈现中:{this.props.children}。谢谢你的帮助!
<Route path="/">
    <Route handler={App} path="/:lang/?">
        <NotFoundRoute handler={NotFound}/>
        <DefaultRoute name="index" handler={Index} />
        <Route name="help" path="help" handler={Help} />
    </Route>

    /* add a default lang */
    <Redirect from="/" to="index" params={{lang: 'en'}} />
</Route>
<Link to="help" params={this.props.params}>{t("header_menu_help")}</Link>
Invariant Violation: Missing "lang" parameter for path "/:lang/?/help"