React——event

1.绑定在React元素上的事件与绑定在DOM元素上的事件非常相似,但是也有一个不同的地方

React事件使用驼峰命名法命名

//在HTML中
<button onclick='handle()'></button>
 //在React中
<button onClick={handle}></button>

React中不能通过使用return false阻止事件的默认行为,必须显示的调用event.preventDefault()去阻止默认行为

function ActionLink(){
  function handle(event){
    event.preventDefault();
  }
  return <a href='#' onClick={handle}>link me</a>
}

 2.React中的event

react合成了事件对象,所以不需要考虑跨浏览器兼容的问题。在React中,通常当元素被创建之后,你不需要调用addEventListener
为元素添加事件的监听器,而是在元素最初被渲染的时候添加监听器

3.当使用类形式创建一个组件,事件处理程序通常是作为对象中的一个方法。

class ToggleButton extend React.Component{
    constructor(props){
        super(props);
        this.state = {swtich:false};
        // 为了在handleClick中还能访问到this
        this.handleClick=this.handleClick.bind(this);
    },
    render(){
        return <button onClick={this.handelClick}>switch</button>
    },
    handleClick(event){
        this.setState((prevStart) => {
            return {swtich:!prevStart.swtich}
        });
    }
}

 

posted @ 2017-09-16 10:01  QxQstar  阅读(401)  评论(0编辑  收藏  举报