React综合指南(二)
https://activity.csdn.net/creatActivity?id=10787
#1024程序员节|征文#

21、 React中的状态是什么?它是如何使用的??
状态是 React 组件的核心,是数据的来源,必须尽可能简单。基本上状态是确定组件呈现和行为的对象。与props 不同,它们是可变的,并创建动态和交互式组件。可以通过 this.state() 访问它们。
22、React组件中props是什么?
Props 是 React 中属性的简写。它们是只读组件,必须保持纯,即不可变。它们总是在整个应用中从父组件传递到子组件。子组件永远不能将 prop 送回父组件。这有助于维护单向数据流,通常用于呈现动态生成的数据。
23、react中组件分为那俩种
函数式 和类组件
24、react中区分状态和 props?
| 条件 | State | Props |
|---|---|---|
| 1. 从父组件中接收初始值 | Yes | Yes |
| 2. 父组件可以改变值 | No | Yes |
| 3. 在组件中设置默认值 | Yes | Yes |
| 4. 在组件的内部变化 | Yes | No |
| 5. 设置子组件的初始值 | Yes | Yes |
| 6. 在子组件的内部更改 | No | Yes |
25、如何更新组件的状态?
可以用 this.setState()更新组件的状态。
class MyComponent extends React.Component {constructor() {super();this.state = {name: 'Maxx',id: '101'}}render(){setTimeout(()=>{this.setState({name:'Jaeha', id:'222'})},2000)return ( <div><h1>Hello {this.state.name}</h1><h2>Your Id is {this.state.id}</h2></div>);}}
ReactDOM.render(<MyComponent/>, document.getElementById('content')
);
26、React 中的箭头函数是什么?怎么用?
箭头函数(=>)是用于编写函数表达式的简短语法。这些函数允许正确绑定组件的上下文,因为在 ES6 中默认下不能使用自动绑定。使用高阶函数时,箭头函数非常有用。
//General way
render() { return(<MyInput onChange = {this.handleChange.bind(this) } />);
}
//With Arrow Function
render() { return(<MyInput onChange = { (e)=>this.handleOnChange(e) } />);
}
27、区分有状态和无状态组件。
| 有状态组件 | 无状态组件 |
|---|---|
| 1. 在内存中存储有关组件状态变化的信息 | 1. 计算组件的内部的状态 |
| 2. 有权改变状态 | 2. 无权改变状态 |
| 3. 包含过去、现在和未来可能的状态变化情况 | 3. 不包含过去,现在和未来可能发生的状态变化情况 |
| 4. 接受无状态组件状态变化要求的通知,然后将 props 发送给他们。 | 4.从有状态组件接收 props 并将其视为回调函数。 |
28、React组件生命周期的阶段是什么?
React 组件的生命周期有三个不同的阶段:
- *初始渲染阶段:*这是组件即将开始其生命之旅并进入 DOM 的阶段。
- *更新阶段:*一旦组件被添加到 DOM,它只有在 prop 或状态发生变化时才可能更新和重新渲染。这些只发生在这个阶段。
- *卸载阶段:*这是组件生命周期的最后阶段,组件被销毁并从 DOM 中删除。
29、 React中的事件是什么?
React 中,事件是对鼠标悬停、鼠标单击、按键等特定操作的触发反应。处理这些事件类似于处理 DOM 元素中的事件。但是有一些语法差异,如:
- 用驼峰命名法对事件命名而不是仅使用小写字母。
- 事件作为函数而不是字符串传递。
事件参数重包含一组特定于事件的属性。每个事件类型都包含自己的属性和行为,只能通过其事件处理程序访问。
30 React中的合成事件是什么?
合成事件是围绕浏览器原生事件充当跨浏览器包装器的对象。它们将不同浏览器的行为合并为一个 API。这样做是为了确保事件在不同浏览器中显示一致的属性。
31、你对 React 的 refs 有什么了解?
Refs 是 React 中引用的简写。它是一个有助于存储对特定的 React 元素或组件的引用的属性,它将由组件渲染配置函数返回。用于对 render() 返回的特定元素或组件的引用。当需要进行 DOM 测量或向组件添加方法时,它们会派上用场。
class ReferenceDemo extends React.Component{display() {const name = this.inputDemo.value;document.getElementById('disp').innerHTML = name;}
render() {return( <div>Name: <input type="text" ref={input => this.inputDemo = input} /><button name="Click" onClick={this.display}>Click</button> <h2>Hello <span id="disp"></span> !!!</h2></div>);}}
32、 列出一些应该使用 Refs 的情况。
以下是应该使用 refs 的情况:
- 需要管理焦点、选择文本或媒体播放时
- 触发式动画
- 与第三方 DOM 库集成
33、如何模块化 React 中的代码?
可以使用 export 和 import 属性来模块化代码。它们有助于在不同的文件中单独编写组件。
//ChildComponent.jsx
export default class ChildComponent extends React.Component {render() {return( <div><h1>This is a child component</h1></div>);}
}//ParentComponent.jsx
import ChildComponent from './childcomponent.js';
class ParentComponent extends React.Component { render() { return( <div> <App /> </div> ); }
}
34、如何在 React 中创建表单
React 表单类似于 HTML 表单。但是在 React 中,状态包含在组件的 state 属性中,并且只能通过 setState() 更新。因此元素不能直接更新它们的状态,它们的提交是由 JavaScript 函数处理的。此函数可以完全访问用户输入到表单的数据。
handleSubmit(event) {alert('A name was submitted: ' + this.state.value);event.preventDefault();
}render() {return ( <form onSubmit={this.handleSubmit}><label>Name:<input type="text" value={this.state.value} onChange={this.handleSubmit} /></label><input type="submit" value="Submit" /></form>);
}
35、你对受控组件和非受控组件了解多少?
| 受控组件 | 非受控组件 |
|---|---|
| 1. 没有维持自己的状态 | 1. 保持着自己的状态 |
| 2.数据由父组件控制 | 2.数据由 DOM 控制 |
| 3. 通过 props 获取当前值,然后通过回调通知更改 | 3. Refs 用于获取其当前值 |
36、什么是高阶组件(HOC)?
高阶组件是重用组件逻辑的高级方法,是一种源于 React 的组件模式。 HOC 是自定义组件,在它之内包含另一个组件。它们可以接受子组件提供的任何动态,但不会修改或复制其输入组件中的任何行为。你可以认为 HOC 是“纯(Pure)”组件。
37、你能用HOC做什么?
HOC可用于许多任务,例如:
- 代码重用,逻辑和引导抽象
- 渲染劫持
- 状态抽象和控制
- Props 控制
38、 什么是纯组件?
纯(Pure) 组件是可以编写的最简单、最快的组件。它们可以替换任何只有 render() 的组件。这些组件增强了代码的简单性和应用的性能。
39、 React 中 key 的重要性是什么?
key 用于识别唯一的 Virtual DOM 元素及其驱动 UI 的相应数据。它们通过回收 DOM 中当前所有的元素来帮助 React 优化渲染。这些 key 必须是唯一的数字或字符串,React 只是重新排序元素而不是重新渲染它们。这可以提高应用程序的性能。
40、MVC框架的主要问题是什么?
以下是MVC框架的一些主要问题:
- 对 DOM 操作的代价非常高
- 程序运行缓慢且效率低下
- 内存浪费严重
- 由于循环依赖性,组件模型需要围绕 models 和 views 进行创建
相关文章:
React综合指南(二)
https://activity.csdn.net/creatActivity?id10787 #1024程序员节|征文# 21、 React中的状态是什么?它是如何使用的?? 状态是 React 组件的核心,是数据的来源,必须尽可能简单。基本上状态是确定组件呈现…...
XML\XXE漏洞基本原理
前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理XXE漏洞的相应信息 XML与XXE漏洞 这个东西有许多叫法,XML漏洞与XXE漏洞差不多都是一个东西。 这个漏洞是出现在XMl上的,然后可以叫他XXE注入漏洞。 XML简介 XML是一种数据的传输…...
uniapp小程序自定义聚合点
注: 1.默认的聚合点可以点击自动展示子级点位,但是自定义的聚合点在ios上无法触发markerClusterClick的监听,至今未解决,不知啥原因 2.ios和安卓展示的点位样式还有有差别 源码附上 <template><view class"marke…...
Spring Boot在线考试系统:JavaWeb技术的应用案例
2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...
Linux在服务器多节点下面如何快速查找日志
背景:最近在查找一个核心服务的后台日志,发现竟然部署了十几个节点,而且没使用ELK来做日志处理,所以查找日志非常不方便,不可能一个服务节点一个服务地找,所以通过同事间互相沟通找到一个方法,通…...
模数转换ADC0804的应用
【实验目的】 学习如何用单片机控制ADC0804芯片进行数模转换,掌握数码管动态扫描显示的原理。 【实验现象】 拧动AD旁边的电位器,会在数码管的前三位显示0-255之间的数值。 【实验说明】 动态扫描:就六位数码管显示123456举例说明如下&#x…...
CBAM中关于碳关税抵销
碳关税是欧盟为应对气候变化、防止 “碳泄漏” 而推出的一种边境调节机制。该机制的目的就是拉平进口产品与欧盟产品的碳成本,迫使其他国家建立碳市场或征收碳税,提高碳价,以达到和欧盟相同的水平,同时也有助于欧盟实现其气候目标…...
2.5 windows xp,ReactOS系统快速系统调用的实现
windows xp,ReactOS系统快速系统调用的实现 windows xp,ReactOS系统快速系统调用的实现 文章目录 **windows xp,ReactOS系统快速系统调用的实现**快速系统调用进入R0我们看MSR寄存器中的内容到底是啥子快速系统调用返回PspLookupKernelUserE…...
AI助力广交会,人工智能在制造业有哪些应用场景?
随着科技的飞速发展,人工智能(AI)正以前所未有的速度渗透到传统制造业中,为中国传统制造业注入了新的活力与变革,也为中国外贸的持续增长增添了更多底气。 在10月15日—19日举办的第136届中国进出口商品交易会上&…...
ElementPlus-Table表格-单选--TypeScript进阶篇
今天看个例子,这个例子是ElementPlus的组件Table表格下面的单选 <template> <el-table ref"singleTableRef" :data"tableData" highlight-current-row style"width: 100%" current-change"hand…...
三大智能体平台深度对比:字节Coze、百度AppBuilder、智谱智能体优劣解析
字节Coze智能体是一个多功能平台,具备丰富的功能和技能扩展能力。以下是它的一些核心功能和特性: 功能与技能 1. 插件功能 Coze智能体可以通过插件调用外部API,扩展智能体的能力。例如,它可以执行以下操作: 搜索信…...
【Flutter】基础入门:自定义Widget
在 Flutter 开发中,除了使用丰富的内置 Widgets 构建界面外,自定义 Widget 是让你的应用更灵活和个性化的重要手段。Flutter 允许你根据需求自定义 StatelessWidget 和 StatefulWidget,以实现复杂的 UI 组件或功能模块。 本教程将通过实例讲…...
程序员日志之DNF手游装备武器升级55级攻略
目录 传送门正文日志1、概要2、布甲3、皮甲4、轻甲5、重甲6、板甲7、武器 传送门 SpringMVC的源码解析(精品) Spring6的源码解析(精品) SpringBoot3框架(精品) MyBatis框架(精品) M…...
Java项目-基于springcloud框架的分布式架构网上商城系统项目实战(附源码+文档)
作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…...
ComfyUI_LayerStyle节点介绍
✨原作者地址 ComfyUI_LayerStyle是一个很强大的节点组,支持了大量图像处理的基础节点。这篇是简单搬运和翻译原作者的内容,方便大家更方便快速的了解这个节点的价值。 https://github.com/chflame163/ComfyUI_LayerStyle ✨节点描述 节点根据功能分…...
SQL Injection | SQL 注入 —— 时间盲注
关注这个漏洞的其他相关笔记:SQL 注入漏洞 - 学习手册-CSDN博客 0x01:时间盲注 —— 理论篇 时间盲注(Time-Based Blind SQL Injection)是一种常见的 SQL 注入技术,适用于那些页面不会返回错误信息,只会回…...
最新开发项目H5商城小程序源码系统 带源代码安装包以及搭建部署教程
系统概述 在当今数字化迅猛发展的时代,电子商务已成为企业拓展市场、提升品牌影响力的重要手段。H5商城小程序作为一种跨平台、轻量级的应用形式,凭借其无需下载安装、即用即走的特性,迅速赢得了广大用户的青睐。为了满足企业对高质量H5商城…...
5大绝招揭秘:Cursor如何让RESTful API开发效率提升300%?
5大绝招揭秘:Cursor如何让RESTful API开发效率提升300%? 在当今快速迭代的软件开发世界中,高效构建RESTful API已成为开发者的必备技能。今天,我们将为大家介绍一款强大的AI辅助工具——Cursor,它能让您的API开发事半功倍。 Cursor Compos…...
鸿蒙开发,在 ArkTS 中,如何使用 Column 实现垂直居中对齐
面向万物互联时代,华为提出了“一次开发多端部署、可分可合自由流转、统一生态原生智能”三大应用与服务开发理念。针对多设备、多入口、服务可分可合等特性,华为提供了多种能力协助开发者降低开发门槛。HarmonyOS基于JS/TS语言体系,构建了全…...
红日安全vulnstack (一)
目录 环境搭建 本机双网卡 Kali IP 靶机IP Web GetShell 前期信息收集 Yxcms后台模板 Getshell PHPMyAdmin日志 Getshell into outfile写入一句话 X phpmyadmin 日志写入一句话 后渗透 MSF 生成木马上线 提取用户hash值 **hash**加密方式 MSF权限Shell至CS CS …...
.shop 域名 SEO 优化有什么技巧
.shop 域名 SEO 优化有什么技巧 在当今互联网时代,域名不仅仅是一个网站的地址,更是品牌的重要组成部分。特别是随着电子商务的蓬勃发展,.shop 域名逐渐成为电商网站的首选。但是,仅有一个好的.shop 域名并不足以让你在搜索引擎上…...
Whishper自定义配置指南:如何根据需求调整参数实现最佳转录效果
Whishper自定义配置指南:如何根据需求调整参数实现最佳转录效果 【免费下载链接】whishper Transcribe any audio to text, translate and edit subtitles 100% locally with a web UI. Powered by whisper models! 项目地址: https://gitcode.com/gh_mirrors/wh/…...
【教程4>第12章>第8节】基于FPGA的图像缩放实现——图像横向压缩仿真测试以及MATLAB辅助验证
本课程学习成果预览 目录 1.软件版本 2.图像横向压缩testbench编写 3.仿真测试 4.程序操作视频 欢迎订阅FPGA/MATLAB/Simulink系列教程 《★教程1:matlab入门100例》 《★教程2:fpga入门100例》 《★教程3:simulink入门60例》 《★教程4:FPGA/MATLAB/Simulink联合开发入门与…...
Windows Podman磁盘瘦身实战:WSL vhdx文件压缩与空间回收
1. 为什么你的Windows磁盘总是不够用? 最近在帮同事排查一个诡异的问题:他的开发机C盘明明有200GB空间,装了Podman才两个月就频繁报"磁盘空间不足"。检查后发现,WSL的虚拟磁盘文件ext4.vhdx竟然膨胀到了180GBÿ…...
从理论到实践:基于CompressAI库的端到端图像压缩模型部署指南
1. 为什么需要端到端图像压缩? 在传统的图像压缩领域,JPEG、PNG这些格式已经统治了几十年。但如果你仔细观察,会发现这些算法本质上都是手工设计的——离散余弦变换、量化表、霍夫曼编码,每个模块都是人为设定的规则。这就好比用…...
CNVD通用型漏洞挖掘思路,平台漏洞列表一眼定睛法!网络安全挖漏洞零基础入门到精通教程!
有一种艺术叫做,我只需看一眼就能一眼定睛其实最有效率挖cnvd的方法是在于平台本身公布出的漏洞,因为绝对不止一个漏洞这里比如我们看web应用(其他类型都可以看看)一般我们看第一页的漏洞信息就够的了,这里我们点最新的那个KingPortal开发系统存在弱口令,很好,继续挖…...
DeepXDE入门踩坑实录:我的第一个PINN模型为什么训不好?
DeepXDE入门踩坑实录:我的第一个PINN模型为什么训不好? 第一次用DeepXDE跑通代码后,看着屏幕上跳动的损失函数曲线,那种成就感就像解出了一道数学难题。但很快,兴奋就被困惑取代——为什么我的模型训练结果总是不尽如人…...
模块联邦和monorepo比较和pnpm包管理工具
本篇文章用于个人学习梳理,模块联邦和monorepo项目的用法的区别比较,下面是我通过豆包生成的核心区别: 对比维度Monorepo模块联邦 (Module Federation)核心目标统一管理多项目代码,提升开发效率(复用、版本、依赖&…...
ThinkPad散热控制新境界:TPFanCtrl2全方位应用指南
ThinkPad散热控制新境界:TPFanCtrl2全方位应用指南 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 一、核心价值解析:为何选择TPFanCtrl2 突破…...
Cursor/AI 助手用自然语言操作监控与告警
主要用途告警管理:查询活跃告警和历史告警,查看告警规则和订阅目标监控:浏览和搜索被监控的主机,分析目标状态事件响应:创建和管理告警屏蔽规则、通知规则和事件流水线团队协作:查询用户、团队和业务组快速…...
