IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 2022-10-12 工作记录--React-父子组件通信(函数) -> 正文阅读

[JavaScript知识库]2022-10-12 工作记录--React-父子组件通信(函数)

React-父子组件通信(函数)

通过this.props可以在子组件里接收到父组件传递的属性值,其属性值也可以是函数~

请添加图片描述

子组件CommonPage.jsx

【1】自定义一个按钮;
【2】定义按钮点击事件;
【3】通过this.props接收到父组件传递过来的属性值 如onJoin(函数);
【4】若为函数,则直接调用该函数;
【5】「对应子组件」若需要向父组件传参数(比如params),加在括号里即可。

import React from 'react';

class CommonPage extends React.Component {

  // 【2】定义按钮点击事件
  join = _throttle(() => {
  	const params = {
      life: 'perfect',
    };
    
  	// 【3】通过this.props接收到父组件传递过来的属性值 如onJoin(函数)
    const { onJoin } = this.props;
    // 【4】若为函数,则直接调用该函数
    if (typeof onJoin === 'function') {
        onJoin(params); // 【5】「对应子组件」若需要向父组件传参数(比如`params`),加在括号里即可
    }
  })

  render() {
    return (
      <div className="commonPage">
        {/* 【1】自定义一个按钮 */}
        <div className="realJoinBtn" onClick={this.join}></div>
      </div >
    );
  }
}

export default CommonPage;

父组件LandingPage.jsx

【1】引入子组件CommonPage
【2】调用子组件,并向子组件传递属性值 如onJoin(函数);
【3】封装函数-点击子组件里的按钮需要进行的操作;
【4】「对应父组件」接收父组件传递过来的参数(比如params);
【5】进行子组件里的点击操作。

import React from 'react';
import CommonPage from '@src/CommonPage/CommonPage'; // 【1】引入子组件CommonPage

class LandingPage extends React.Component {

  // 【3】封装函数-点击子组件里的按钮需要进行的操作
  handleJoin = (params) => { // 【4】「对应父组件」接收父组件传递过来的参数(比如params)
  	console.log('params',params); // params {life: 'perfect'}
    /** TODO: 【5】进行子组件里的点击操作 */
  }

  render() {
    return (
      <div className="landingPage">
      	// 【2】调用子组件,并向子组件传递属性值 如onJoin(函数)
        <CommonPage onJoin={this.handleJoin}/>
      </div >
    );
  }
}

export default LandingPage;

请添加图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:24:08  更:2022-10-17 12:27:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/11 17:10:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码