创建 React 组件

让我们通过比较两个代码示例来探索语法差异。

React.createClass(不建议使用)

这里我们有一个分配了 React 类的 const,后面的 render 函数用于完成典型的基本组件定义。

import React from 'react';

const MyComponent = React.createClass({
  render() {
    return (
      <div></div>
    );
  }
});

export default MyComponent;

React.Component

让我们采用上面的 React.createClass 定义并将其转换为使用 ES6 类。

import React from 'react';

class MyComponent extends React.Component {
  render() {
    return (
      <div></div>
    );
  }
}

export default MyComponent;

在这个例子中,我们现在使用的是 ES6 类。对于 React 更改,我们现在创建一个名为 MyComponent 的类,并从 React.Component 扩展而不是直接访问 React.createClass。这样,我们使用更少的 React 样板和更多的 JavaScript。

PS:通常,这将与 Babel 之类的东西一起用于将 ES6 编译为 ES5 以在其他浏览器中工作。