1

我在一个项目中使用 react-rails gem。

每当我在 react_component 帮助器中传递 {prerender: true} 时,我都会收到此错误:

使用预渲染 UsersList 时遇到错误“ReferenceError: ReactDOMServer is not defined”

4

1 回答 1

5

我有同样的问题,还没有找到合适的解决方案。我在 gem 的 github repo 上创建了一个问题。到目前为止,有一个解决方法(对于另一个问题,但它对我有用):

从问题 #443复制/粘贴

  1. 确保 components.js 已编译 ( Rails.application.config.assets.precompile += %w( components.js ))
  2. 添加//= require react-server到您的 components.js 文件中
  3. 仅指定 components.js 用于服务器渲染:

    config.react.server_renderer_options = { files: ["components.js"], # files to load for prerendering }

更新:

降级以下 gem:sprockets (2.12.4) 和 sprockets-rails (2.3.3) 似乎可以避免这个问题。

于 2016-02-08T20:49:04.107 回答