2016-04-05 18 views
1

React-Native'da yeni oldum ve derslerde iki farklı (benim için) talimatlarla karşı karşıya kaldım. Bana aralarındaki farkı açıklar mısınız lütfen?Fark nedir? Sen sözdizimini açıklar mısın?

1) var React = require ('react-native');

vs

içe gelen { AppRegistry, Bileşen, StyleSheet, Metin, gör } reaksiyona natif 'vermek;

2) var ReactComponent = React.createClass ({...});

vs

sınıf ReactComponent uzanır Bileşen {}

Ve aslında tepki yerli en iyi yöntem nedir? - Hangi varyantın kullanılması daha iyidir ve neden? Ayrıca her yer, tepki-yerel için bir değişken "React" olarak adlandırılır. Neden başka bir kelime ile isimlendiremiyorum (öykünücü, React değişkenini bulamıyor)?

cevap

3

Her iki örnekte de, ilk seçenek yazılan şeylerin nasıl yazılacağıdır; ikinci seçenek ise yeni bazı şeyleri tanıtan "yeni" ES6 sözdizimidir. Bu nedenle, ilk sözdizimini kullanarak eski dokümantasyonu bulacaksınız, yeni belgeler yeni ES6 standartlarını kullanabilir. Yeni başladığımda da beni çok karıştırdı. Ben eski kullanabilirsiniz (< = ES6) Bildiğim kadarıyla http://www.2ality.com/2014/09/es6-modules-final.html

ve yeni ES6 sözdizimi birbirinin ama bir iyi uygulamalar: İlginizi çekiyorsa

, buradan ES6 modül sistemi üzerinde yukarı okuyabilir bakış açısından, kodunuzda, tercihen yeni standartta bir tane var.

+0

Yani, anladığım gibi, ikinci seçenek için: Dosyaları kütüphaneden parantez içinde "React" değişkenine içe aktarıyorum, doğru mu? Ve ikinci seçenek yeni sözdizimi olduğu için kullanmak daha iyidir? –

+1

Evet, tüm modülü içe aktarıyorsunuz; ve sonra parantezlerin arasında ihtiyacınız olan alt modüller. Daha fazla bilgi için https://facebook.github.io/react-native/docs/javascript-environment.html ve https://babeljs.io/docs/learn-es2015/#modules adresine bakın. –