Javascript 使用React Rails预渲染React组件

Javascript 使用React Rails预渲染React组件,javascript,ruby-on-rails,ruby-on-rails-4,reactjs,isomorphic-javascript,Javascript,Ruby On Rails,Ruby On Rails 4,Reactjs,Isomorphic Javascript,我有一个简单的React组件,目前正在客户端上正确渲染。我正在尝试在服务器上渲染它。为了测试这一点,我关闭了Chrome中的JavaScript并加载页面 我的组件如下所示: window.TestComponent = React.createClass({ render: function() { return React.DOM.h1({className: 'TestComponent'}, 'Test Component') } }); <%

我有一个简单的React组件,目前正在客户端上正确渲染。我正在尝试在服务器上渲染它。为了测试这一点,我关闭了Chrome中的JavaScript并加载页面

我的组件如下所示:

window.TestComponent = React.createClass({
  render: function() {
      return React.DOM.h1({className: 'TestComponent'},
        'Test Component')
  }
});
<%= react_component 'TestComponent', {prerender: true} %>
入口点如下所示:

window.TestComponent = React.createClass({
  render: function() {
      return React.DOM.h1({className: 'TestComponent'},
        'Test Component')
  }
});
<%= react_component 'TestComponent', {prerender: true} %>
要求2

您的组件必须在全局范围内可访问。如果你是 使用.js.jsx.coffee文件,则需要使用包装器函数 考虑到:

我使用的是纯JavaScript

要求3

您的代码无法引用文档。预渲染进程没有 对文档的访问,因此jQuery和其他一些LIB在这种情况下不起作用 环境:(

我没有参考文献

我可能做错了什么?

试试这个:

<%= react_component 'TestComponent', {}, {prerender: true} %>

第一个散列是空的-它是react组件的空

第二个散列是react rails的选项,在这里您可以说“prerender:true”。

试试这个:

<%= react_component 'TestComponent', {}, {prerender: true} %>

第一个散列是空的-它是react组件的空

第二个散列是react rails的选项,在这里您可以说“prerender:true”