如何将继电器QL值添加到同构中继路由器
问题描述:
我的应用程序需要本地化支持。我正在使用同构中继路由器。如何将继电器QL值添加到同构中继路由器
const customQueries = {
viewer:() => Relay.QL'
fragment on JobSeekerEntry{
language
}
'
};
export default [
{
path: '/',
component: Index,
queries: ViewerQueries,
indexRoute: {
component: Home,
onEnter: ({params}, replace) => replace("/" + customQueries.viewer.lanaguage ),
queries: ViewerQueries,
prepareParams:() => ({status: 'any'}),
},
childRoutes: [
{
path: "/:language",
component: Home,
queries: ViewerQueries,
},
{
path: "/:language/status",
component: Test,
queries: ViewerQueries,
},
{
path: '/:language/test/:user',
component: Home,
queries: ViewerQueries,
},
],
},
];
在上面的代码示例是希望用户能够根据他/她的优先停留lanaguage重定向。对于搜索引擎优化支持,我想为英语显示www.exmaple.com/en,为日语显示www.example.com/jp。“en”和“jp”值来自graphql(来自服务器)。我想将这些值分配给路由器参数。特别是当从服务器端进行页面渲染时。请帮我解决这个问题。
答
您可以定义ViewerQueires
为常数,并通过语言,这样
const ViewerQueries = {
viewer:() => Relay.QL `query{post(postID: $language)}`,
};
PARAMS和你应该组件页面上定义片段如下
export default Relay.createContainer(Home, {
fragments: {
viewer:() => Relay.QL`
fragment on JobSeekerEntry {
language
}
`,
},
});
请出示您更精确schema.js回答。 – akshay