我目前正在学习 ReactJS 以及如何使用 Ruby on Rails 作为其后端,所以如果我做出愚蠢的假设,我深表歉意,请随时骂我。
我正在关注一个教程,其中作者使用 Coffeescript 而不是 ES6 来处理他的 ReactJS 代码。
他提供了一个与此类似的示例组件(咖啡脚本):
@Rows = React.createClass
render ->
React.DOM.div
className: 'rows'
React.DOM.h1
className: 'title'
'Rows'
这有两个错误。React.createClass
我发现第一个已被弃用,不再有效。相反,我正在使用createReactClass
. 好的。但是现在,React.DOM.h1
给出一个错误说Uncaught TypeError: Cannot read property 'h1' of undefined
,对于我使用的任何其他 HTML 标记都一样。我认为这是由于createReactClass
没有提供React.createClass
.
无论如何,在研究与此间接相关的另一个错误时,我发现有人建议使用以下内容:
@Rows = React.createClass
render ->
div
className: 'rows'
h1
className: 'title'
'Rows'
所以,切断React.DOM
部分。这给出了另一种类型的错误,说:Uncaught ReferenceError: div is not defined
。同样,我假设这是由于更改为React.createClass
.
有没有办法将 React 与 CoffeeScript 结合使用,这样我就可以像这样使用它:
@Rows = createReactClass
render ->
div
className: 'rows'
h1
className: 'title'
'Rows'
无需打开和关闭 HTML 标签,也无需React.DOM
?
我不知道这是否可能,或者它是否有效,或者是否有很多方法可以实现类似的结果。在深入研究 React 之前,我只是想知道是否有办法做到这一点。
谢谢!
更新
我已经取得了一些进展,但仍然出现错误。我尝试了以下方法:
import React from 'react'
import ReactDom from 'react-dom'
{div, h1, p} = ReactDom
class Rows extends React.Component
render: ->
h1
className: 'col-md-12'
'Rows'
export default Rows
这给出了以下错误:Uncaught TypeError: h1 is not a function
。