React-rails:带有 { prerender: true } 问题的组件
React-rails: Component with { prerender: true } issue
我正在项目中使用 react-rails gem。
每当我在 react_component 帮助程序中传递 {prerender: true} 时,我都会收到此错误:
Encountered error "ReferenceError: ReactDOMServer is not defined" when prerendering UsersList with
我也遇到了同样的问题,还没找到合适的解决办法。我在 gem 的 github 回购上创建了一个问题。到目前为止,有一个解决方法(针对另一个问题,但它对我有用):
Copy/pasted 来自 issue #443
- 确保 components.js 已编译 (
Rails.application.config.assets.precompile += %w( components.js )
)
- 将
//= require react-server
添加到您的 components.js 文件
仅指定 components.js 用于服务器渲染:
config.react.server_renderer_options = {
files: ["components.js"], # files to load for prerendering
}
更新:
降级以下 gems:sprockets (2.12.4) 和 sprockets-rails (2.3.3) 似乎可以避免这个问题。
我正在项目中使用 react-rails gem。
每当我在 react_component 帮助程序中传递 {prerender: true} 时,我都会收到此错误:
Encountered error "ReferenceError: ReactDOMServer is not defined" when prerendering UsersList with
我也遇到了同样的问题,还没找到合适的解决办法。我在 gem 的 github 回购上创建了一个问题。到目前为止,有一个解决方法(针对另一个问题,但它对我有用):
Copy/pasted 来自 issue #443
- 确保 components.js 已编译 (
Rails.application.config.assets.precompile += %w( components.js )
) - 将
//= require react-server
添加到您的 components.js 文件 仅指定 components.js 用于服务器渲染:
config.react.server_renderer_options = { files: ["components.js"], # files to load for prerendering }
更新:
降级以下 gems:sprockets (2.12.4) 和 sprockets-rails (2.3.3) 似乎可以避免这个问题。