首页 > 其他分享 >React - 子组件向父组件通信

React - 子组件向父组件通信

时间:2024-03-29 19:22:29浏览次数:18  
标签:const 函数 向父 通信 React msg 组件

本质是利用回调函数进行子向父通信,子组件通过触发由父组件传递的 prop 函数,并传递数据,父组件执行该 prop 函数内的回调函数。

file:[父子通信]
function Son({ onGetMsg }) {
  // 1. 数据由子组件提供,向父组件传值
  const sonMsg = "this is son msg";

  return (
    <div>
      this is Son
      <!-- 2. onClick 触发 prop 函数,将值传递给它 -->
      <button onClick={() => onGetMsg(sonMsg)}>sendMsg</button>
    </div>
  );
}

function App() {
  // 3. 传递给子组件,触发时执行回调函数,msg 获取值
  const getSonMsg = (msg) => {
    console.log(msg);
  };

  return (
    <div>
      <Son onGetMsg={getSonMsg} />
    </div>
  );
}

export default App;

标签:const,函数,向父,通信,React,msg,组件
From: https://www.cnblogs.com/Himmelbleu/p/18104468

相关文章

  • vue3动态加载组件
    Vue2项目中使用require.context()来动态地加载模块。但是Vue3项目默认使用ES模块,而不是CommonJS模块。因此,你不能直接使用require()来加载模块。在Vue3项目中,你可以使用import.meta.glob()或import.meta.globEager()来实现类似的功能。以下是一个例子,如何使用import.meta.gl......
  • vue2,3拖拽组件
    vue3//[email protected]//dom<template><Draggablev-model="list.data"class="drag-container"><template#item="{element}"><div>{{element.name}}</div>......
  • 【前端】- 在使用Element UI 的el-tree组件时,从底层去研究如何去实现一键展开/关闭【t
    第一步:首先我们先去查看elementui官方文档,发现并没有提供这个方法,没办法,只能手写一个了,先给大家看看功能点击前效果:点击后效果:第二步:废话不多说直接上代码,然后我们简单解释下代码页面部分:这里是简单的数结构渲染,不多讲,$refs.Reftree获取的是el-tree的实例,具体作用请看下......
  • 使用 CRXJS、Vite、TypeScript、React、Zustand、Antd 开发 Chrome 浏览器插件——自
    一、CRXJS一、什么是CRXJS?CRXJSVitePlugin是一款使用现代Web开发技术制作Chrome扩展的工具二、CRXJS的作用CRXJS支持热加载和静态资源导入,无需手动构建配置工具CRXJSVite插件通过将Vite的精细功能与简单的配置策略相结合,简化了Chrome扩展开发者体验二......
  • Java Swing组件:表格
           表格(JTable)是将数据以二维的形式展示给用户,它包括行和列,每一行表示一个对象,例如一个学生,每一列表示对象的一种属性,例如学生的学号、姓名等。表格组件是采用MVC(ModelViewController)模式进行设计,按照MVC的设计理念,JTable类属于视图,对应的数据模型是TableModel接......
  • Vue组件封装:基于Vue3+wangeditor富文本组件二次封装
    1.简介    开源Web富文本编辑器,开箱即用,配置简单。一个产品的价值,就在于解决用户的问题,提高效率、降低成本、增加稳定性和扩展性。wangEditor不是为了做而做,也不是单纯的模仿谁,而是经过上述问题分析之后,给出一个系统的解决方案。旨在真正去解决用户的问题,产出自己的价......
  • Storybook version8 智能化构建组件文档与单元测试
    根据官方文档说法,storybook是一个独立构建前端UI组件与页面的车间。StorybookisafrontendworkshopforbuildingUIcomponentsandpagesinisolation.Ithelpsyoudevelopandsharehard-to-reachstatesandedgecaseswithoutneedingtorunyourwholeapp.Th......
  • React组件封装:文字、表情评论框
    1.需求描述根据项目需求,采用Antd组件库需要封装一个评论框,具有以下功能:支持文字输入支持常用表情包选择支持发布评论支持自定义表情包2.封装代码 ./InputComment.tsx1importReact,{useState,useRef,useEffect,forwardRef,useImperativeHandle}from'r......
  • Vue:实现子组件和父组件数据的双向绑定案例和sync修饰符简化
    实现子组件和父组件数据的双向绑定(实现App.vue中的selectId和子组件选中的数据进行双向绑定)代码案例BaseSelect.vue<template><div><select:value="selectId"@change="selectCity"><optionvalue="101">北京</option><op......
  • 安装 Visual C++ 可再发行组件包的简单方法
    安装VisualC++RedistributablePackages的最佳方法安装对Wampserver(以及许多其他软件)至关重要的VC++可再发行组件的最简单、最简单、最不容易出错、最快的方法是使用一个程序,该程序通过单个可执行文件安装所需的所有内容。不,这不是乌托邦!它存在,它是名为VisualCppRedistA......