React学习day03-components插件安装(仅基于火狐浏览器)、受控表单绑定、在React中获取dom、组件通信(组件间的数据传递)

news2024/12/24 9:06:24

7、components插件安装(仅基于火狐浏览器)

(1)点击“打开应用程序菜单”

(2)点击“扩展和主题”

(3)在“扩展”的“寻找更多组件”搜索“Components”,找到“React Developer Tools”

(4)点击“安装”

(5)在浏览器页面,右键“检查”

8、受控表单绑定(效果上类似于vue表单的双向绑定)

(1)作用:使用React组件的状态(useState)控制表单的状态

(2)步骤:

1)准备一个React状态值,将状态值绑定到表单的value属性上

2)通过value属性绑定状态,通过onChange属性绑定状态同步的函数,将表单的最新的value值设置给state

9、在React中获取dom

(1)工具:userRef函数

(2)步骤:

1)使用userRef获取ref对象,并用ref=“ref对象名”于JSX绑定

2)在DOM可用时(页面渲染完成之后),通过ref对象名.current获取DOM对象

10、组件通信(组件间的数据传递)

根据嵌套关系的不同,有不同的通信方法

已知:

(1)父子通信

1)父传子
①父组件在子组件标签上绑定属性,传递数据(假设传递数据为姓名)

②子组件通过props接收数据

2)父传子之props
①props可以传递任意数据(数字、字符串、布尔值、数组、对象、函数、JSX)

②props是只读对象(子组件只能读取使用props的数据,不能直接修改,否则会报错)(props中的父组件数据只能由父组件修改)

③children

当把内容嵌套在子组件的标签中,父组件会自动再命名为children的props属性值接收该内容

3)子传父

已知:

①父组件声明方法,再将函数传递给子组件

②给子组件绑定点击方法,将需要变化的值传递给父组件

③父组件可以在最初声明的函数中获取到子组件传递的值

(2)兄弟通信(通过父组件实现兄弟通信)

已知:

1)子1传父步骤
        ①定义父组件的函数

        ②父组件传递函数给子组件1

        ③子组件1通过解构获得函数,并传参给父组件

        ④检查子组件1是否成功传参给父组件

2)父传子2
        ①将父组件中的数据设为动态的(useState)

        ②父组件将数据传递给子组件2

        ③子组件2通过props进行接收,传递的值,然后渲染

(3)跨层通信(比如:爷孙关系、父子关系)(使用Context机制实现跨层级组件通信)

1)步骤:
        ①使用createContext方法创建一个上下文对象Ctx
        ②在顶层组件中通过上下文对象Ctx.Provider组件提供数据
        ③在底层组件中通过useContext钩子函数获取消费数据
2)示例(将父组件的name传给孙组件)

已知:

①导入createContext,创建一个上下文对象,用一变量接收

②调用创建的上下文对象,通过Provider提供标签将根组件的内容包裹起来

③通过useContext在孙组件中解析createContext创建的上下文对象,并使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2082524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode 46. 全排列 排列型回溯 C++实现

Leetcode 46. 全排列 问题:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以按任意顺序返回答案。 算法: 创建二维返回数组 ans ,和临时数组 path ,on_path 。 进入 dfs 函数,当 in …

xshell 终端选中文本后自动执行ctrl+c

1. 退出钉钉后,解决问题, xshell终端可以正常使用了。 2. 修改钉钉设置来解决问题: 设置-> 通用-> AI助理 , 取消指定选项。

89.游戏安全项目-htdSdk安装

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:易道云信息技术研究院 上一个内容:88.游戏改造-UI修正保存到可执行文件 文件名为:黑兔sdk.zip 链接&#xff1…

Linux下UDP编程

一.概念介绍 1.socket 是什么? socket(套接字)本质上是一个抽象的概念,它是一组用于网络通信的 API,提供了一种统一的接口,使得应用程序可以通过网络进行通信。在不同的操作系统中,socket 的实…

Cobalt Strike 4.8 用户指南-第四节-监听器和基础设施管理

4.1、概述 任何行动的第一步都是建立基础设施。在 Cobalt Strike 中,基础设施由一台或多台团队服务器、重定向器以及指向团队服务器和重定向器的 DNS 记录组成。一旦团队服务器启动并运行,你将需要连接到它,并将其配置为接收来自受感染系统的…

呼叫中心系统数据分析报表统计

呼叫中心系统在客服职场中具有非常重要的作用,可以说如果呼叫中心系统瘫痪整个客服职场都无法工作。呼叫中心的数据统计分析功能对于企业来说也是非常重要的,能够快速帮助企业生成各种数据报表。 呼叫中心系统数据分析统计功能包括:工作量统计…

解锁AI力量:Gemini模型在Android中的技术应用

说在前面的话 大型语言模型(LLM)是近年来人工智能领域最令人瞩目的突破之一。它们拥有强大的语言理解和生成能力,能够完成各种任务,为我们打开了一个全新的世界。 以下是一些常见的使用场景: 1. 内容创作&#xff1…

如何为你的jar包上保险,防止别人反编译获取代码。Jar混淆全网最详细教学

写在前面:众所周知,Java程序不管使用maven或者Gradle进行构建,都可以获得一个可运行的jar包,比如现在我写了一个IDEA插件可以实现在IDEA中输入中文的名称之后自动变成是规范的英文类,那么在进行友好的分享时候,如何防止自己的jar依赖被别人翻版,就是本次给大家提供的教学…

Android 12系统源码_输入系统(二)InputManagerService服务

前言 上一篇我们简单介绍了Android系统输入事件的常见类型和事件的传递流程,输入事件的传递流程主要分三个部分,输入系统处理部分、WMS处理部分、View处理部分。 其中输入系统处理部分细分为输入子系统处理部分和InputManagerService处理部分&#xff…

嵌入式学习----IO多路复用

1.概念:多个IO复用一个进程 2.IO多路复用的一般实现: (1)创建文件描述符集合 (2)添加文件描述符到集合中 (3)通知内核开始监测 (4)根据返回的结果做对应…

TESSY创建单元测试或集成测试工程

我们以tessy5.1 IDE为例,给大家展示工程的创建过程。 1、打开TESSY5.1软件后,会弹出: 2、点击NEW Project后,会弹出: 3、接下来,就可以打开刚创建的工程: 4、进入到TESSY的主界面后&#xff0c…

清凉行动启航!汕头电信爱心翼站夏送清凉,每一份汗水都值得被温柔以待

8月中旬汕头电信濠江营业厅开展了“与你一起,清凉一夏”爱心翼站•夏送清凉活动。 在温馨的活动氛围中,爱心翼站的爱心大使与志愿者们,以生动有趣的小课堂,为小朋友们揭开了中暑这一话题的神秘面纱,细致阐述了其定义及…

在团队里对着干的人

在团队里对着干的人,踢走; 在团队里跟着干的人,培养; 在团队里帮着干的人,分钱; 在团队里领着干的人,分红。 这是规律也是规矩,一个真正的强者,是看他帮助了多少人&#…

CLIP微调方法总结

文章目录 前言1️⃣ Tip-Adapter论文和源码原理介绍 2️⃣Cross-modal Adaptation(跨模态适应)论文和源码原理介绍 3️⃣ FD-Align(Feature Discrimination Alignment,特征判别对齐)论文和源码原理介绍 总结 前言 本文…

教您用军团要塞2服务器开服联机教程

1、购买后登录服务器 进入控制面板后会出现正在安装的界面 2、下载连接工具 打开Steam库中搜索Source SDK Base 2013 Multiplayer并安装 3、下载游戏 以下三个链接均为同一个游戏 百度 通过百度网盘分享的文件:tf2classic.zip 链接:百度网盘 请输入提…

(最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)

(最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题) 岗位——硬件技术工程师 岗位意向——单板硬件开发 真题题目分享,完整版带答案(有答案和解析&#xff0…

浅析WebRTC技术在智慧园区视频管理场景中的应用

随着科技的飞速发展,智慧园区作为城市智慧化的重要组成部分,正逐步成为现代化管理的重要方向。智慧园区的建设不仅涉及硬件设施的智能化升级,还离不开高效的视频管理和实时通信技术。在这一背景下,WebRTC(Web Real-Tim…

BackdoorLLM:一个针对生成性LLMs后门攻击的全面基准测试

大型语言模型(LLMs)在从自然语言理解到机器翻译等一系列任务上取得了显著的突破性进展。例如,GPT-4模型展示了在生成类人文本和解决复杂问题方面的前所未有的能力。然而,近期的研究表明,LLMs存在一个关键的脆弱性&…

sqli-labs靶场通关攻略(41-45关)

第41关 这关我们使用工具sqlmap练习一下(这里如果用本机的回环地址访问靶场的话只能在你的本机访问,因为我们是在虚拟机上进行扫描,所以不能使用127.0.0.1访问) 进入虚拟机kali,打开终端 查库 sqlmap -u 网址 -- curr…

uniapp生活记账小程序

Springboot vue uniapp生活记账小程序,前端采用vue uni-app设计开发,后端采用 Springboot 开发前端对应的数据接口,首页显示生活账单信息,我的野蛮统计记账信息和微信登录状况。记账页面可以,根据不同类别的日常消费记…