react-11-父子组件通信-调试工具

简介: 框架类的都少不了 组件间的传值父子组件 兄弟组件等先来梳理个 父 改子

1. 前言


框架类的都少不了 组件间的传值

父子组件  兄弟组件等

先来梳理个 父 改子


2.  需求


点击 父组件内的按钮 ,修改数据,子组件跟随变化

点击子组件内的按键 ,父组件数据也修改

FT~`UNXH`J3EF)J@ISX_$U8.png

极简插件  很多浏览器的调试插件安装比较麻烦,这个安装起来非常方便,需要的可以试试


3.  父传子 -----子组件


类组件用的比较多

构造函数不是必须的


class Child extends React.Component {
            render() {
                return (<div>
                    <h2>  子-child---{this.props.num} </h2>
               </div> )
            }
        }



4. 父组件-传值-子组件


  1. state  定义一个 变量
  2. 父传子  和 vue类似 通过 属性传值
  3. 父组件 点击事件 箭头函数 里面 修改  state
  4. this的问题 以后就默认你懂了,不在详细讲解
  5. setState()修改 数据  和小程序 类似


class App extends React.Component {
            constructor(){
                super();
                this.state={
                    app_num:0
                }
            }
            render(){
                return(
                    <div>
                    <h1> App </h1>  
                    <button onClick={()=>{this.increase()}}>父-app-btn </button>
                    <Child  num={this.state.app_num}/>  
                    </div>
                )
            }
            increase(){
                this.setState({
                    app_num: this.state.app_num +1
                })
            }
        }



5. 子组件 修改父组件数据 --子组件


直接在上边 的子组件 基础上 进行修改就行

就加了一个点击事件

其实这个思路和 vue是一样的, 通过回调函数来修改

因为子组件不能修改 父组件的数据 ,那就只能通过   传值的时候,把父组件的修改函数 像普通传参一样传过来

js里面本身函数也是一种数据类型嘛

可以想象 这个add 应该就是 父组件的修改函数


class Child extends React.Component {
            render() {
                return (<div>
                    <h2> 子-- child---{this.props.num} </h2>
                    <button onClick={this.props.add}> 子--- child-btn</button>
               </div> )
            }
        }



6. 父组件


在上边的 父组件基础上进行修改就行

主要 问题还是 this指向 ,怎么才 能在 子组件里面 还让 this指向父组件,

因为这个 修改函数 只有在父组件的this上才有

传值的时候通过 bind 直接绑定 this


render(){
                return(
                    <div>
                    <h1> App </h1>  
                    <button onClick={()=>{this.increase()}}>父--app-btn </button>
                    {/* props传递
                         父组件的 修改函数 作为参数 传给子组件 
                     只有保证this指向父组件,那么子组件修改的就是父组件的数据
                      vue是通过事件 传递
                    */}
                    <Child  num={this.state.app_num} add={this.increase.bind(this)}/>  
                    </div>
                )
            }




相关文章
|
9月前
|
前端开发 调度
React(二) —— 组件间的通信方式
React(二) —— 组件间的通信方式
|
18天前
|
存储 前端开发 中间件
React组件间的通信
React组件间的通信
19 1
|
18天前
|
前端开发
React中兄弟组件通信和组件跨级传递Context的使用
React中兄弟组件通信和组件跨级传递Context的使用
|
18天前
|
JavaScript 前端开发 小程序
Vue、React和小程序中的组件通信:父传子和子传父的应用
Vue、React和小程序中的组件通信:父传子和子传父的应用
45 0
|
7月前
|
前端开发 JavaScript 开发者
react组件通信
前言: React是一种流行的JavaScript库,用于构建现代化的、高性能的Web应用程序。在React中,组件是代码的构建块。组件通信是React中一个非常重要的概念,它使得开发者可以将应用程序拆分成更小、更可维护的部分。本篇博客将介绍React中组件通信的方法,以及如何在不同的场景中使用它们。
19 0
|
7月前
|
前端开发 JavaScript 小程序
Vue、React和小程序中的组件通信:父传子和子传父
Vue、React和小程序中的组件通信:父传子和子传父
37 0
|
7月前
|
前端开发 JavaScript
react组件通信看这一篇就够了
react组件通信看这一篇就够了
41 0
|
8月前
|
设计模式 前端开发
【整活】👉被玩坏的React hook组件通信👈
【整活】👉被玩坏的React hook组件通信👈
|
9月前
|
存储 前端开发 JavaScript
【react从入门到精通】React兄弟组件通信方式详解(有示例)
在上一篇文章《[React父子组件通信方式详解]》中我们学习到了React父子组件通信的4中方式。本文中我们将详细了解react兄弟组件通信方式。
174 0
|
9月前
|
存储 前端开发
【react从入门到精通】React父子组件通信方式详解(有示例)
在React中,父子组件最常用的4种通信方式: - 通过 props 实现父子组件通信 - 通过 state 实现父子组件通信 - 通过回调函数实现父子组件通信 - 使用 React Context 实现组件通信 在项目实战过程中,可根据实际情况选择最合适的通信方式。
284 0
【react从入门到精通】React父子组件通信方式详解(有示例)