React 事件处理

事件机制

事件 是前端一个非常重要的特性,React 也当然具备良好的事件处理机制,结合事件,我们在理解一遍 State 属性

class Index extends Component {
  constructor() {
    super()
    // 初始化数据
    this.state = {
      num: 1
    }
 }

  // 事件函数
  changeNum(n) {
    this.setState({num: n})
  }

  render() {
    return <div onClick={this.changeNum.bind(this, 2)}>{this.state.num}</div> // 点击执行 changeNum | bind 的方法是拥有绑定参数,其中第一个参数是 this
  }
}

组件事件

React 的事件,通过与 Props属性 的结合,还能跨越组件。

// index.js
class Index extends Component {
  constructor() {
    super()
    this.state = {text: 'init'}
  }

  changeText(e) {
  /*
    e 是事件对象,包含了一些关于当前事件的信息集合
    e.target.value 可以拿到 input 改变后的值
  */
  this.setState({text: e.target.value})
 }

  render() {
    return (
      <div>
        {/* 事件函数通过 props 属性,传递到了 Header 组件,然后在 Header 组件中触发 */}
        <Header text={this.changeText.bind(this)} />
        <h1>{this.state.text}</h1>
      </div>
    )
  }
}

// header.js
class Header extends Component {
  render() {
    return <input type="text" onChange={this.props.text} />
  }
}
React 教程 React 安装 React 组件 React JSX React 样式 React 生命周期 React State React Props React 事件 React Refs React Router
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程