我使用 react-rails
gem 并遇到了特定的问题:预渲染不起作用。我已经编写了代码,但向我发送了一个异常:
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>`
以及 View :
= react_component 'Terminal', {}, prerender: true
我正在使用默认的 react-rails
设置,但不知道出了什么问题(我不明白为什么 React 找不到 Terminal
组件) .
最佳答案
您使用 prerender: true
进行服务器渲染,因此您需要确保您的组件可全局访问:
@Terminal = React.createClass
render: ->
`<div>fffs</div>`
了解更多信息 react-rails documentation .
关于ruby-on-rails - Reactjs-rails 的预渲染问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29609810/