React::ServerRendering::PrerenderError in...Rails 5,React

gdf*_*dfg 5 ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 reactjs

我正在Rails 5react-rails宝石一起使用。我想使用服务器端渲染,但看到以下错误:

Home#index 中的 React::ServerRendering::PrerenderError

使用 {} 预渲染 Main 时遇到错误“# ExecJS::ProgramError: TypeError: Cannot read property 'serverRender' of undefined”

这是我的/assets/javascripts/application.js

//= require rails-ujs
//= require jquery
//= require react
//= require react_ujs
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

这是javascripts/components.jsx

class Main extends React.Component{
    render(){
        return (
            <h1>Hello</h1>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

这是视图:

<%= react_component('Main', {}, {prerender: true}) %>
Run Code Online (Sandbox Code Playgroud)

没有prerender选择,一切正常。

for*_*ace 0

我遇到了类似的问题,这是我解决的方法

运行命令rails generate react:install

这将在您的 javascripts/ 目录下创建组件文件夹和一些必需的文件。

现在,将您的目录components.jsx放入/assets/javascripts/componets

刷新页面。

我正在运行 Rails 4.2.10,还没有测试过 Rails 5,但我猜这应该可以解决问题。

让我知道你是怎么办的