react中es6的使用

1. class创建组件

class Greeting extends React.Component {
  render() {
    return 

Hello, {this.props.name}

; } }

2. 声明默认属性

class Greeting extends React.Component {
  // ...
}

Greeting.defaultProps = {
  name: 'Mary'
};

3. 设置出事状态

class Counter extends React.Component {
  constructor(props) {
    super(props);
    this.state = {count: props.initialCount};
  }
  // ...
}

4. this绑定

class SayHello extends React.Component {
  constructor(props) {
    super(props);
    this.state = {message: 'Hello!'};
    // 这一行很关键
    this.handleClick = this.handleClick.bind(this);
  }

  handleClick() {
    alert(this.state.message);
  }

  render() {
    // 由于 `this.handleClick` 已经绑定至实例,因此我们才可以用它来处理点击事件
    return (
      
    );
  }
}

或目前还处于实验性阶段的 Babel 插件 Class Properties。

class SayHello extends React.Component {
  constructor(props) {
    super(props);
    this.state = {message: 'Hello!'};
  }
  // 警告:这种语法还处于实验性阶段
  // 在这里使用箭头函数就可以把方法绑定给实例:
  handleClick = () => {
    alert(this.state.message);
  }

  render() {
    return (
      
    );
  }
}

 

你可能感兴趣的:(c)