React-Router翻译路线的最佳方式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React-Router翻译路线的最佳方式?相关的知识,希望对你有一定的参考价值。

我正在构建一个需要以3种语言提供的反应应用程序。 现在,它只有英文版本 - 我正在使用反应路由器来管理页面。

我不需要翻译它,我已经有翻译,但我不知道如何在我的应用程序中实现这些。 将我的项目复制3次到/ en,/ it,/ fr听起来效率低下。

有什么建议?

     <Router >

 <div>
 <Switch>

  <Route exact path="/contact" component={Contact}  />
  <Route exact path="/where" component={Where}  />
  <Route exact path="/about" component={About}  />
  <Route exact path="/" component={Home}  />
  <Route component={NotFound}  />

  </Switch>

  </div>

  </Router>
答案

您可以使用Router params语言

<Router >
  <Route path="/:language" component={Localise}/>
</Router>

和本地化组件

render() {
    const {language} = this.props.match.params; 
    return (
        <div>
            <Switch>
              <Route exact path=`${match.path}/contact` component={Contact}  />
              <Route exact path=`${match.path}/where` component={Where}  />
              <Route exact path=`${match.path}/about` component={About}  />
              <Route exact path={match.path} component={Home}  />
              <Route component={NotFound}  />
            </Switch>
        </div>
    )
}

以上是关于React-Router翻译路线的最佳方式?的主要内容,如果未能解决你的问题,请参考以下文章

React-router:防止导航到目标路线

如何写好react组件

React-Router如何防止重定向

使用 webpack、bundle-loader react-router 进行隐式代码拆分

当我使用 <a> 标签跟随路线时,React-Router 正在刷新页面

React-Router 4默认路由内容显示在所有其他组件上[重复]