基名称更改时,将路由器4重定向到第一条路由

时间:2018-08-16 10:34:37

标签: reactjs react-router react-router-v4 browser-history

我正在使用BrowserRouter进行路由以响应i18n,我需要将波斯语的基本名称设置为/fa/,将英语设置为/,所以我动态地更改了基本名称,问题是当基本名称更改时路由器路径更改为输入的第一条路由。
例如:
我使用以下URL输入应用程序:app.com/companies/,然后转到app.com/investors/,然后更改语言,基本名称将更改为/fa/,然后我将返回app.com/fa/companies/而不是{{ 1}}
这是我设置基本名称的方式:

app.com/fa/investors

所以我如何防止重定向到第一条路线。 ?
这是一个问题吗?还是应该这样?
i18n在React Router中有更好的方法(我们不使用react-intl)吗?

1 个答案:

答案 0 :(得分:0)

您可以分享您的整个rooter吗:)

您在使用Switch吗?

从反应训练中提取 Switch will start looking for a matching <Route>. <Route path="/about"/> will match and <Switch> will stop looking for matches and render <About>

因此,如果需要/fa,则您的rooter将首先匹配此url,然后呈现正确的组件

因此,i18n或react-intl是相同的,但我建议使用i18n。因为i18n现在是万维网的标准