2016-04-05 69 views
1

我是React-Native中的新成員,我在教程中面對兩個不同的(對我來說)說明。你能解釋一下他們之間的區別嗎?有什麼區別?你能解釋一下這個語法嗎?

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

VS

進口反應,{ AppRegistry, 元器件, 樣式表 文本, 查看 }從 '反應天然';

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

VS

類ReactComponent擴展組件{}

和實際反應是母語的最佳做法? - 哪種變體更好用,爲什麼?無處不在寫的是爲反應原生命名的變量「React」。爲什麼我不能用另一個詞命名它(模擬器說它找不到變量React)?

回答

3

在這兩個示例中,第一個選項是過去寫入的方式,而第二個選項是引入了一些新內容的「新」ES6語法。這就是爲什麼您會使用第一種語法找到較早的文檔,而較新的文檔可能會使用新的ES6標準。當我剛開始時,它也讓我困惑不已。

如果你有興趣,你可以ES6模塊系統在這裏讀了起來:http://www.2ality.com/2014/09/es6-modules-final.html

據我知道你可以使用舊的(< = ES6)及新ES6語法可以互換,但是從最佳實踐觀點我會堅持你的代碼,最好是新標準。

+0

所以,據我所知,對於第二個選擇:我將庫中的括號內的東西導入變量「React」,對嗎?第二種選擇是更好的使用,因爲它是新的語法? –

+1

是的,你導入完整的模塊;然後在括號內需要每個子模塊。 有關更多信息,請參見https://facebook.github.io/react-native/docs/javascript-environment.html和https://babeljs.io/docs/learn-es2015/#modules –

相關問題