Я унаследовал проект, использующий 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 в react-router v1.0.0), который не особо актуально в данном случае.
public_html
хостинга и т. д. 19.12.2015match
является частью реактивного маршрутизатора. Да, ты прав. Пришло время начать переписывать существующий код, чтобы вместо этого использовать этот подход. Спасибо. 19.12.2015