2016-04-08 7 views
1

React kodu İçerisinde HTML ile return (<form> .. </form>); görüyorum ... Bu geçerli Javascript mi? Bir şekilde bir dizeye mi dönüştürülmüş?ReactJS'de bu HTML etiketleri "döndürüldü" ile nasıl çalışır?

Şu anda Javascript öğreniyorum ve kesinlikle bazı boşluklarım var. Bu, bunun nasıl yapıldığına dair bana bir bulmaca veriyor!

var AddTodoComponent = React.createClass({ 
    render: function() { 
    return (
     <form> 
     <input type="text" disabled={AppStore.isSaving()}/> 
     </form> 
    ); 
    } 
}); 
+1

bak tanımlar belgeleri ve "Derlenmiş JS" sekmesini tıklayın: http://facebook.github.io/react/. –

cevap

6

Bu sözdizimi JSX olarak adlandırılmıştır. Normalde geçerli bir JavaScript değildir, tarayıcınız muhtemelen almaz, ancak bir transpeyra ile uygun JavaScript elde edebilirsiniz.

Yukarıdaki bağlantıda, JSX sözdizimini engelleyen geçerli bir JavaScript'in nasıl yazılacağını da görürsünüz (aktarıcının ne üreteceği).

Aşağıdaki örnek Tepki, Gördüğünüz gibi Facebook'un JSX in Depth guide çıkış bölümünde,

var Nav, Profile; 
// Input (JSX): 
var app = <Nav color="blue"><Profile>click</Profile></Nav>; 
// Output (JS): 
var app = React.createElement(
    Nav, 
    {color:"blue"}, 
    React.createElement(Profile, null, "click") 
); 

yukarıda bağlantılı dan o örneklere sizin için işlemek gerçekleştiren yöntemi, React.createElement

+0

Ah! Teşekkürler. Şimdi mantıklı. – slindsey3000

+0

Evet! Bağlantılı web sitesindeki diğer sayfaları keşfedin. Onlar React gibi büyük bir bilgi içerirler (teknik olarak bilecek çok şey yoktur). İlk haftamı React ile geçirdim, sadece bir gününü okudum ve bilgiyi uygulamamda uyguladı. – mjohnsonengr

+1

Evet. Javascript'i öğrenmek için çok çalışıyorum. React ve Native React'ın yaptığı şeyle çok ilgileniyorum. Bu yüzden öğrenmeyi planlıyorum Saf yanlışı öğrenme boyunca yanyana koşun. – slindsey3000

İlgili konular