美文网首页
React事件传递

React事件传递

作者: 初入前端的小菜鸟 | 来源:发表于2019-06-20 11:37 被阅读0次

事件传递: 父传子、子传父;

父传子

简单实例:

// 父组件
import React, { Component } from 'react';
import Button from './button'
class App extends Component {
  render () {
    return (
      <Button sizeCount={ 0 }/Button>
    )
  }
}
// button.js
class App extends Component {
  constructor(props) {
    this.state = { count: this.props.sizeCount}
    this.sizeCountAdd = this.sizeCountAdd.bind(this)
  }
  this.sizeCountAdd () {
    this.setState({count: this.state.count + 1})
  }
  render () {
    return (
      <button onClick={this.sizeCountAdd}>点击增加</button>
    )
  }
}

子传父

简单实例:

// 父组件
class App extends React.Component {
  constructor(props) {
    super(props);
    this.status = this.status.bind(this)
    this.state = {
      status: 'true'
    };
  }
  status (sta) {
    this.setState({status: sta.toString()})
  }
  render() {
    console.log('enter ControlPanel render')
    return (
      <div className="App" >
        <Home onUpdate = {this.status} />
        <span>{this.state.status}</span>
      </div>
    )
  }
}

// Home.js 子组件
class Home extends React.Component {
    constructor(props) {
        super(props)
        this.state = {
            status: true,
            count: 0
        }
        this.add = this.add.bind(this)
    }
    componentWillMount() {
        console.log('我在render前执行了'+this.state.count)
    }
    add () {
        this.setState(state => ({
            status: !state.status,
            count: state.status === true ? '1' : '0'
        }))
        this.props.onUpdate(this.state.status)
    }
    render() {
        return (
            <div>
                <button onClick={this.add}>{this.state.count}</button>
            </div>
        )
    }
}

同级组件传值

简单实例:

方法一: 通过父组件作为媒介;
通过 子传父,然后父传子进行实现;

方法二:

//  暂定

相关文章

  • React事件传递

    事件传递: 父传子、子传父; 父传子 简单实例: 子传父 简单实例: 同级组件传值 简单实例: 方法一: 通过父...

  • js函数防抖、节流实现

    React中使用防抖函数和节流函数 在React事件调用时,React传递给事件处理程序是一个合成事件对象的实例。...

  • React的事件

    React事件系统 事件处理程序通过 合成事件(SyntheticEvent)的实例传递,SyntheticEve...

  • React 18 源码学习笔记 2 addEventListen

    再次的,React 在 createRoot 时给传递的参数 (即 React 渲染的根结点) 挂载各种事件监听。...

  • react 事件处理&条件渲染

    处理事件 react事件使用驼峰命名,而不是完全小写。通过JSX我们可以传递一个函数作为事件处理程序。与DOM绑定...

  • React常用性能优化方式整理

    React组件优化 1. 属性传递优化 在动态页面中,免不了使用事件来监控按钮,React中便针对这种情况有相...

  • 事件总线

    在 React 中,我们通常依赖 events 库来实现跨组件之间的事件传递 安装命令: yarn add eve...

  • Notes On React - Three

    事件处理   React 中事件绑定属性的命名采用驼峰命名,且采用了 JSX 语法的时候需要传递一个函数作为时间处...

  • 【React进阶系列】史上最全React事件机制详解

    框架总览 ? DOM事件流的三个阶段 ? 关于React事件的疑问? React事件绑定机制? React事件和原...

  • React对事件的处理

    与原生的事件处理有点差异,具体表现在: react使用驼峰事件命名,而不是小写 对于句柄来说传递的是一个jsx函数...

网友评论

      本文标题:React事件传递

      本文链接:https://www.haomeiwen.com/subject/mesdqctx.html