【问题标题】:TypeError: Cannot set property 'props' of undefinedTypeError:无法设置未定义的属性“道具”
【发布时间】: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(&lt;Handler/&gt;); 这一行引发了错误。 @大卫
  • 您是否在任何地方导入App

标签: javascript reactjs react-router


【解决方案1】:

各位,这个问题已经解决了。问题是项目所在的目录正在被操作系统缓存,因此当我认为它是时代码没有正确更新。

我通过删除目录并将 git 存储库克隆回系统解决了这个问题,在 npm 安装后,一切又顺利了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多