【发布时间】:2015-11-16 13:44:59
【问题描述】:
我正在尝试使用 react 设置服务器端渲染。每当我访问希望服务器端渲染工作的路由时,都会收到错误 TypeError: Cannot set property 'props' of undefined。
我的路由器是这样的:
import DetailsPage from './DetailsPage.jsx';
import Home from './Home.jsx';
const routes = (
<Route name="app" path="/" handler={App}>
<Route name="platform" path="platform" handler={Home}/>
<Route name="details" path="platform/details/:carId" handler={DetailsPage}/>
</Route>
);
渲染代码如下所示:
Router.run(routes, this.request.url, function (Handler) {
var content = React.renderToString(<Handler/>);
reactBody = render('platform/index', {htmlReactApp: content});
});
使用 react 0.13.3 会发生这种情况。
有人告诉我这是 react 的问题,而不是 react-router 的问题。
以前有人经历过吗?
【问题讨论】:
-
你在哪里得到这个错误?
-
听起来您在某处没有正确绑定
this,但您需要找出引发错误的位置。 -
@limelights 发生在服务器中。如果我在客户端中引导应用程序,则没有问题。
-
在renderToString 方法参数中
var content = React.renderToString(<Handler/>);这一行引发了错误。 @大卫 -
您是否在任何地方导入
App?
标签: javascript reactjs react-router