【发布时间】:2016-05-24 22:09:56
【问题描述】:
我正在我的 express 应用程序的服务器上渲染我的 React-router。 这是我的代码
app.use((req, res) => {
match({ routes, location: req.url }, (error, redirectLocation, renderProps) => {
console.log(renderProps)
if (error) {
res.status(500).send(error.message)
} else if (redirectLocation) {
res.redirect(302, redirectLocation.pathname + redirectLocation.search)
} else if (renderProps) {
let component = renderToString(<RoutingContext {...renderProps}/>);
var html = renderToStaticMarkup(body(null,
div({id: 'content', dangerouslySetInnerHTML: {__html:component}}),
script({src: '/js/main.js'})
))
res.end(html)
} else {
res.status(404).send('Not found')
}
})
});
它有效。我可以在不刷新的情况下进行路由。 但是在我的组件被渲染之前我如何参考我的快速路由来查询我的数据库(不是 ajax 查询)..
【问题讨论】:
标签: javascript express reactjs ecmascript-6 react-router