Ich lerne gerade ReactJS und wie man mit Ruby on Rails als Backend arbeitet, also entschuldige ich mich, wenn ich dumme Annahmen mache, fühle mich frei, mich zu schelten.Wie rendern Sie HTML-Tags in Reagieren mit Coffeescript?
Ich folge einem Tutorial, wo der Autor Coffeescript anstelle von ES6 verwendet, um seinen ReactJS-Code zu behandeln.
Er liefert ein Beispiel Komponente ähnlich wie diese (Coffee):
@Rows = React.createClass
render ->
React.DOM.div
className: 'rows'
React.DOM.h1
className: 'title'
'Rows'
Dies hat zwei Fehler. Die erste bezieht sich auf , die ich herausgefunden habe, ist veraltet und funktioniert nicht mehr. Stattdessen verwende ich createReactClass
. Gut. Aber jetzt, React.DOM.h1
gibt eine Fehlermeldung, die Uncaught TypeError: Cannot read property 'h1' of undefined
, selbe für welches anderes HTML-Tag ich verwende. Ich nehme an, es ist wegen createReactClass
, die nicht die notwendige Funktionalität zur Verfügung stellt, die vorher von zur Verfügung gestellt wurde.
Wie auch immer, während für einen anderen Fehler untersucht, um dies indirekt im Zusammenhang, I found someone suggesting to use something like this:
@Rows = React.createClass
render ->
div
className: 'rows'
h1
className: 'title'
'Rows'
So, das React.DOM
Teil abzuschneiden. Dies ergibt eine andere Art von Fehler, nämlich: Uncaught ReferenceError: div is not defined
. Wieder nehme ich an, dass es wegen der Änderung zu React.createClass
ist.
Gibt es eine Möglichkeit mit Coffeescript verwenden Reaktion, so dass ich es wie folgt verwenden:
@Rows = createReactClass
render ->
div
className: 'rows'
h1
className: 'title'
'Rows'
ohne HTML-Tags zu öffnen und zu schließen, und ohne React.DOM
?
Ich weiß nicht, ob es überhaupt möglich ist, ob es jemals funktioniert hat oder ob es viele Möglichkeiten gibt, etwas mit ähnlichen Ergebnissen zu erreichen. Ich bin nur neugierig zu wissen, ob es einen Weg gibt, dies zu tun, bevor ich tiefer in React eintauche.
Danke!
aktualisieren
ich einige Fortschritte gemacht habe, obwohl ich einen Fehler nach wie vor bin immer. Ich habe versucht, die folgenden:
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
Dies gibt den folgenden Fehler: Uncaught TypeError: h1 is not a function
.
offizielle Dokumentation gibt Ihnen die erforderlichen Informationen http://coffeescript.org/v2/#jsx – Panther
Wenn ich etwas nicht vermisse, erwähnen sie nur die XML-Elemente, die mit einem öffnenden und einem schließenden Tag eingeschlossen werden müssen . Meine Frage ist, sie wie in meinem dritten Code-Snippet zu verwenden (keine schließenden Tags, nur Einrückung, Coffeescript-Stil). – user3209270