routerContext对象上不存在url这个属性值
来源:3-7 服务端渲染优化

小王子抓猫咪
2017-12-18
<Switch> <Route path="/" exact render={()=>(<Redirect to="/list" />)}/> <Route path="/list" component={TopicList} /> <Route path="/detail" component={TopicDetail} /> <Route path="/test" component={ApiTest} /> {/*<Redirect to="/list" />*/} </Switch>
上面是我的router路由设定规则
下面是我得server服务端渲染代码
const routerContext = {}; const serverApp = serverBundle(createStoreMap(), routerContext, req.url); const content = ReactSSR.renderToString(serverApp); // 当渲染结束之后通过检查routerContext对象是否具有url属性来判断是否是路由跳转 if(routerContext.url){ // eslint-disable-next-line console.log(`routerContext.url = ${routerContext.url}`); res.status(302).setHeader("Location", routerContext.url); res.end(); return; } res.send(content.replace("<!--app-->", content));
当我访问/根路径时并没有在routercontext对象上添加url 所以中间这段302跳转并没有执行
有没有和我遇到一样问题的小伙伴?
写回答
1回答
-
小王子抓猫咪
提问者
2017-12-18
00