与Reactjs语法混淆

时间:2016-10-31 01:25:42

标签: javascript reactjs syntax babeljs

我对此很陌生,所以请大家跟我说。我研究了React,其中创建了一个组件,如

var app = React.createClass({ ... });

就像here一样。

然而,在我的mac中安装react后,我发现语法与我习惯的有点不同。即,

class Application extends React.Component { ... }

就像here

现在,由于我之前的Java知识,我确实理解了代码。但我只想知道其中的区别。这对我来说是一个问题,因为当我编写像React.createClass()这样的语法时,它不起作用。

如果你看第二个link in codepen,你会看到Babel写在JS旁边。那么,默认情况下是否会使用Babel?

我想你得到的照片。谢谢!

1 个答案:

答案 0 :(得分:2)

您的第一个示例使用React.createClass()辅助函数,而第二个示例使用ES6 class syntax来定义React组件。

两者都是定义组件的有效方法。但请注意,您需要在发送ES6代码之前将其转换为ES5,以使其与浏览器兼容。

More info on ES6-style component definitions.