加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react双向绑定--骚气的es6

发布时间:2020-12-15 08:21:11 所属栏目:百科 来源:网络整理
导读:现在实下的react写法,最流行的莫过于两种, 1.React.createClass这种语法 2.class这种语法(es6) 那么要我说,最骚气的肯定是第二种es6的写法啦,那么今天就来讲一下用es6写法来实现的双向绑定 首先我们还是来看一下es5的双向绑定是怎么实现的 var InputCo

现在实下的react写法,最流行的莫过于两种,

1.React.createClass这种语法

2.class这种语法(es6)

那么要我说,最骚气的肯定是第二种es6的写法啦,那么今天就来讲一下用es6写法来实现的双向绑定

首先我们还是来看一下es5的双向绑定是怎么实现的

var InputControlES5 = React.createClass({
  propTypes: {
    initialValue: React.PropTypes.string
  },defaultProps: {
    initialValue: ''
  },// 初始化状态值
  getInitialState: function() {
    return {
      text: this.props.initialValue || 'placeholder'
    };
  },// 绑定事件
  handleChange: function(event) {
    this.setState({
      text: event.target.value
    });
  },render: function() {
    var text = this.state.text;
    return (
      <div>
        Type something:
        <input onChange={this.handleChange}
               value={text} />
        Write something:
        <p>{text}<p/>
      </div>
    );
  }
});

上面这个类就是一个最简单的双向绑定实现方式

下面我们再来看es6的写法

class InputControlES6 extends React.Component {
  constructor(props) {
    super(props);

    // 初始化 state
    this.state = {
      text: props.initialValue || 'placeholder'
    };

    // 在构造函数内必须先bind这个事件
    this.handleChange = this.handleChange.bind(this);
  }
  
  handleChange(event) {
    this.setState({
      text: event.target.value
    });
  }
  
  render() {
    consot text = this.state.text;
    return (
      <div>
        Type something:
        <input onChange={this.handleChange}
               value={text} />
        Write something:
        <p>{text}<p/>
      </div>
    );
  }
}
InputControlES6.propTypes = {
  initialValue: React.PropTypes.string
};
InputControlES6.defaultProps = {
  initialValue: ''
};

区别其实就在于一下几个点

1.getInitialState 与 constructor

2.在es6写法中必须在constructor函数中bind事件

还有一个必须牢记的共同点,

双向绑定的那个属性值,必须要初始化(切记)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读