【发布时间】:2017-07-30 09:24:54
【问题描述】:
我正在使用 react-router 进行服务器端渲染,并且我将语言环境信息存储在 locales.json 文件中。区域信息仅在 api 调用响应后设置,其中包括当前语言,即'GB', 'NO', 'FR', etc.,然后完成服务器响应并以正确的语言将所有内容发送到客户端。
但是,我使用的是react-router match 方法:
match({ routes, location: req.url }, (error, redirectLocation, renderProps) => { ... }
...我需要 routes 基于 api 响应中的语言,即
// Route
<Route path={`:storeId/${locales[language].path}`} />
// locale.json
{
"GB": {
"path": "contact"
},
"NO": {
"path": "kontakt"
}
}
这种方法可行吗?这就像我需要在进行 api 调用后定义路由,但要进行 api 调用,我需要定义路由。
【问题讨论】:
标签: reactjs internationalization react-router locale universal