2

我使用react-railsgem 并遇到了特定的问题:预渲染不起作用。我已经编写了代码,但向我发送了一个异常:

Encountered error "ReferenceError: Terminal is not defined" when prerendering Terminal with {}

这是我的代码的来源:

#= require jquery
#= require jquery_ujs
#= require turbolinks
#= require react
#= require react_ujs
#= require components
#= require_tree .

components.js.coffee

#= require_tree ./components

terminal.js.jsx.coffee

Terminal = React.createClass
  render: ->
    `<div>fffs</div>`

和观点:

= react_component 'Terminal', {}, prerender: true

我正在使用默认react-rails设置,不知道出了什么问题(我不明白为什么 react 找不到Terminal组件)。

4

1 回答 1

2

prerender: true用于服务器渲染,因此您需要确保您的组件可全局访问

@Terminal = React.createClass
  render: ->
    `<div>fffs</div>`

在react-rails 文档中阅读更多关于它的信息。

于 2015-04-13T16:25:24.283 回答