我继承了一个使用React-Router的项目,并且提升了所有依赖项,包括react-router。但是,它的API在0.13和1.0之间有所变化,我想知道如何将以下代码转换为1.0格式:
var routes = (
<Route handler={...}>
<Route name="..." path="/.../"
handler={require('../pages/...jsx')}/>
...
</Route>
);
[...snip...]
exports.generateStatic = function(url, cb) {
var router = Router.create({
routes: routes,
location: url
});
router.run(function(Handler) {
var pageHandler, html, title;
var err = null;
try {
html = ReactDOMServer.renderToString(<Handler/>);
pageHandler = Page.handlerForPage(router, url);
title = Page.titleForHandler(pageHandler);
} catch (e) {
err = e;
}
cb(err, html, { title: title });
});
};
这个代码不是做“实际导航”,而是通过显式呈现其中的所有路径来生成应用程序作为静态HTML,而我在StackOverflow上看到的唯一问题是如何使用Router.create
是什么用于导航(Router.create in react-router v1.0.0),这在这种情况下并不特别相关。
答案 0 :(得分:2)
现在API有点不同了 - 请查看当前版本的服务器呈现文档:https://github.com/rackt/react-router/blob/v1.0.2/docs/guides/advanced/ServerRendering.md。