当前位置: 首页 > news >正文

从vue3速学react

单位老项目vue2,新项目vue3,业务已经熟练使用vue了,空余时间自学下react,写个博客记录下

react没有双向绑定,用的是jsx语法,useState后面是初始化值,需要改变data的时候,需要用定义的setXXX来改变XXX值,比如下面我写的就是setData,里面可以直接赋值,也可以写个复杂的函数处理

vue3:

const data=ref({});
data.value={xxx:xxxx};

react:

const [data, setData] = useState({});
setData({xxx:xxxx});
// 也可以写函数
setData(()=>{return {xxx:xxxx}
});

useEffect,很常见的一个参数

react:

useEffect(() => {// 副作用函数的内容
})  
每次更新之后都要执行
和vue的watchEffect类似
--------------------
useEffect(() => {// 副作用函数的内容
}, []) 
初始化页面时 只执行第一次
和vue的onMonuted类似
--------------------
useEffect(() => {// 副作用函数的内容
}, [依赖项]) //依赖项可以有多个
1 初始执行一次 2 每次依赖项的值变化时执行
和vue的watch并设置immediate类似

那react是怎么传数据的呢?vue里面有props上下级传,react里面一个个组件都写成了函数的形式,如下,参考的是官网的例子,父组件Board给子组件Square的value传值

切记,react语法,如果函数是组件,函数名称要 大写

react:

function Square({ value }) {return <button className="square">{value}</button>;
}export default function Board() {return (<><div className="board-row"><Square value="1" /><Square value="2" /><Square value="3" /></div><div className="board-row"><Square value="4" /><Square value="5" /><Square value="6" /></div><div className="board-row"><Square value="7" /><Square value="8" /><Square value="9" /></div></>);
}

那么vue里面的emit在react要怎么实现呢
通过父组件传递函数让子组件调用

import {useState} from 'react'
// 父组件
export default function App() {const [value,setValue] = useState(0)const fn = (value) => {setValue(value)}return (<><div>我是子组件传递的Value:{value}</div><Child fn={fn}></Child></>)
}// 子组件
function Child(props) {const fn1 = () => {props.fn(123)}return (<button onClick={fn1}>子传父</button>)
}

后续慢慢补充。。。

相关文章:

从vue3速学react

单位老项目vue2,新项目vue3,业务已经熟练使用vue了&#xff0c;空余时间自学下react&#xff0c;写个博客记录下 react没有双向绑定&#xff0c;用的是jsx语法&#xff0c;useState后面是初始化值&#xff0c;需要改变data的时候&#xff0c;需要用定义的setXXX来改变XXX值&am…...

Kotlin 协程 CoroutineScope

协程定义&#xff1a; 19年官方是这样说的&#xff1a;协程是轻量级的线程&#xff0c;协程就是 Kotlin 提供的一套线程封装的 API&#xff1b; 现在官方是这样说的&#xff1a;协程是一种并发设计模式&#xff1b; 协程作用&#xff1a; 1.处理耗时任务&#xff1b; 2.保…...

如何构建适合自己的DevOps软件测试改进方案

​目录 DevOps成熟度模型分析 构建适合企业自身性能的测试过程改进框架 资料获取方法 根据2022年的DevOps全球调查报告显示&#xff0c;主流软件企业采用或部分采用DevOps且已获得良好成效的占比已达70%&#xff0c;DevOps俨然成为当下软件开发研究的重要方向。 测试作为软…...

PHP关于字符串的各类处理方法

判断字符串是否以指定子串开头或结尾 function startsWith($str, $prefix) {return stripos($str, $prefix) 0; }function endsWith($str, $suffix) {return substr_compare($str, $suffix, -strlen($suffix)) 0; }// 示例用法 $text "hello world"; $result st…...

Springboot+MyBatis使用

目录 依赖 配置信息 xml文件 mapper接口 打印日志 分页查询 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency><dependency><groupId>my…...

WebSocketServer的使用(@ServerEndpoint)

前端代码 function initWebSocket() {if (typeof WebSocket "undefined") {console.log("您的浏览器不支持WebSocket");} else {console.log("您的浏览器支持WebSocket");//实现化WebSocket对象&#xff0c;指定要连接的服务器地址与端口 建立连…...

【yolov8系列】将yolov8-seg 模型部署到瑞芯微RK3566上

前言 之前记录过【yolov5系列】将模型部署到瑞芯微RK3566上&#xff0c;整体比较流畅&#xff0c;记录了onnx转rknn的相关环境配置&#xff0c;使用的rk版本为rknn-toolkit2-v1.4.0。当前库已经更新为1.5&#xff0c;这里还是沿用1.4的版本进行记录。本篇博客是在上篇博客&…...

Java类的默认构造函数

什么情况下存在默认构造函数 说明 如果一个Java类没有显式包含构造函数的声明&#xff0c;那么隐含着有一个默认构造函数。 示例 定义一个类B&#xff0c;没有显式声明构造函数&#xff0c;所以存在一个默认构造函数&#xff1a; package com.thb;public class B {public …...

华为openGauss数据库入门 - gsql用法

目录 1.1 gsql的语法 1.2 gsql常用选项 1.2.1 最常用的必要选项 1.2.2 -r选项 1.2.3 -E选项 1.2.4 -t选项 1.2.5 -A选项 1.2.6 -v选项 1.2.7 -c选项 1.2.8 -f选项 1.2.9 -q选项 1.3 gsql的元命令 1.3.1 \l命令 1.3.2 \du命令和\dg命令 1.3.3 \db命令 1.3.4 \d…...

The Sandbox 重新上线,带来全新体验!

在经历了一个充满史诗般新回忆的全力开局后&#xff0c;我们短暂休息了片刻&#xff0c;为玩家准备了全新的、惊心动魄的游戏活动。 我们已经完成了功能的微调&#xff0c;准备将您的游戏体验提升到一个全新高度&#xff01; 想知道我们正在做什么吗&#xff1f;现在还无法公开…...

动态内存管理面试题

动态内存管理面试题 文章目录 动态内存管理面试题一、第一题此代码存在的问题运行结果分析原因修改 二、第二题此代码存在的问题运行结果分析原因修改 一、第一题 代码如下&#xff08;示例&#xff09;&#xff1a; #include<stdio.h> #include<string.h> #incl…...

树莓派外设开发编程

目录 一、树莓派的接口&#xff1a;驱动 二、wiringPi 库 1.在使用wiringPi库的时候&#xff0c;需要包含头文件 2.wiringPi库API 一、树莓派的接口&#xff1a;驱动 IO口&#xff1a;input output 对于主控来说 Input &#xff1a;人体、烟雾、振动 output: 继电…...

Java从入门到精通(一)

Java从入门到精通&#xff08;一&#xff09; 前言 温故而知新&#xff0c;闲着没事干&#xff0c;准备将Java编程语言的知识点从头梳理一遍&#xff0c;整理成笔记&#xff0c;逐篇发布。 部分图片素材来源与B站“黑马程序员”的课程。 一 Java背景 Java是1995年 由Sun公司…...

Electron从构建到打包程exe应用

Electron从构建到打包程exe应用 Electron文档搭建网页装载到 BrowserWindow中定义全局对象进程之间通信渲染器进程到主进程&#xff08;单向&#xff09;渲染器进程到主进程&#xff08;双向&#xff09;主进程到渲染器进程 打开调试器打包应用程序对代码进行签名 Electron文档…...

3分钟学会设计模式 -- 单例模式

►单例模式 ►使用场景 在编写软件时&#xff0c;对于某些类来说&#xff0c;只有一个实例很重要。例如&#xff0c;一个系统中可以存在多个打印任务&#xff0c;但是只能有一个正在工作的任务&#xff1b;一个系统中可以多次查询数据库&#xff0c;但是只需要一个连接&#x…...

《面试1v1》Kafka与传统消息系统区别

&#x1f345; 作者简介&#xff1a;王哥&#xff0c;CSDN2022博客总榜Top100&#x1f3c6;、博客专家&#x1f4aa; &#x1f345; 技术交流&#xff1a;定期更新Java硬核干货&#xff0c;不定期送书活动 &#x1f345; 王哥多年工作总结&#xff1a;Java学习路线总结&#xf…...

【算法第十三天7.27】平衡二叉树,二叉树所有路径,左叶子之和

链接力扣110-平衡二叉树 思路 1、左右子树高度差不超过1 2、左子树、右子树均为平衡二叉树 3、需要获得树高&#xff0c;如果不是平衡的就返回-1&#xff1b;如果是平衡&#xff0c;就返回对应的高 class Solution {public boolean isBalanced(TreeNode root) {return getH…...

arm架构cloudstack的agent报错No more available PCI slots如何解决

当ARM架构的CloudStack代理报错"No more available PCI slots"时&#xff0c;这通常表示ARM实例已用尽可用的PCI插槽。PCI插槽用于连接网络接口卡&#xff08;NIC&#xff09;和其他扩展设备到虚拟机实例。 解决此问题的方法可以考虑以下几点&#xff1a; 调整实例的…...

day43-Feedback Ui Design(反馈ui设计)

50 天学习 50 个项目 - HTMLCSS and JavaScript day43-Feedback Ui Design&#xff08;反馈ui设计&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport&q…...

TypeScript基础篇 - TS日常类型 上篇

目录 TS的常见用法介绍 example01.ts 逃避类型检查&#xff1a;any 思考一下~&#xff1a;不知道类型 类型标注 函数&#xff08;参数和返回值&#xff09; 匿名函数 TS如何知道匿名函数的类型&#xff1f; TS是一种标注式语言&#xff0c;不侵入JS的设计 TS的常见用法…...

T型翼/尾板导向的穿浪双体船姿态控制【附代码】

✨ 长期致力于穿浪双体船、T型翼、尾板、多自由度姿态控制、舒适性评估研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;动态水翼升力模型与耦合运动方…...

基于2D工程图几何特征与梯度提升模型的制造成本智能预测

1. 项目概述&#xff1a;从图纸到报价的智能革命在制造业&#xff0c;尤其是像汽车零部件这样的离散制造领域&#xff0c;报价速度直接决定了订单的生死。传统上&#xff0c;拿到一张新的2D工程图&#xff08;DWG格式&#xff09;&#xff0c;成本工程师需要花上几天甚至几周时…...

为什么鸿蒙 App 最终都会走向状态驱动?

子玥酱 &#xff08;掘金 / 知乎 / CSDN / 简书 同名&#xff09; 大家好&#xff0c;我是 子玥酱&#xff0c;一名长期深耕在一线的前端程序媛 &#x1f469;‍&#x1f4bb;。曾就职于多家知名互联网大厂&#xff0c;目前在某国企负责前端软件研发相关工作&#xff0c;主要聚…...

关联规则挖掘在Calabi-Yau流形Hodge数分析中的应用与复现

1. 项目概述&#xff1a;当数据挖掘遇见高维几何在理论物理和代数几何的交叉领域&#xff0c;Calabi-Yau流形一直扮演着核心角色。这些具有特殊拓扑结构的空间&#xff0c;不仅是弦理论中额外维度紧化的关键候选者&#xff0c;其本身丰富的数学性质也吸引着无数研究者。然而&am…...

uWSGI目录穿越漏洞CVE-2018-7490深度利用与防御实战

1. 这不是“读文件”那么简单&#xff1a;uWSGI目录穿越在真实攻防链中的定位与误判代价你刚在Vulfocus靶场里跑通了CVE-2018-7490的PoC&#xff0c;用curl "http://target:8080/?p../../../../etc/passwd"成功读出了root:x:0:0:root:/root:/bin/bash&#xff0c;截…...

从模糊到电影级景深:Midjourney + Topaz Gigapixel联调方案(含LUT预设包+PSD分层模板)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;从模糊到电影级景深&#xff1a;Midjourney Topaz Gigapixel联调方案&#xff08;含LUT预设包PSD分层模板&#xff09; 当Midjourney生成的图像存在主体边缘柔化、背景层次缺失或分辨率不足等问题时&#xf…...

AI 应用原型开发阶段利用 Taotoken 快速进行多模型效果对比

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 AI 应用原型开发阶段利用 Taotoken 快速进行多模型效果对比 在构建一个 AI 应用的原型时&#xff0c;开发者常常面临一个核心问题&…...

内存申请和使用的场景分析(以AP->kernal->ISP为例)

在 ISP&#xff08;Image Signal Processor&#xff09;系统中&#xff0c;AP 与 ISP 之间的内存交互本质上是一个**“AP 申请可 DMA 访问的共享内存 → 内核建立映射 → 硬件寻址读写 → 同步与回收”**的过程。下面按数据流分层详细拆解。一、ISP 内存需求的特殊性 与普通应用…...

免费解锁八大网盘限速!LinkSwift直链下载助手终极指南

免费解锁八大网盘限速&#xff01;LinkSwift直链下载助手终极指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

拒绝延迟与黑屏:向日葵控制端 局域网直连 P2P 穿透与无头服务器(Headless)虚拟显示器优化指南

拒绝延迟与黑屏&#xff1a;向日葵控制端 局域网直连 P2P 穿透与无头服务器&#xff08;Headless&#xff09;虚拟显示器优化指南 在远程开发、分布式部署及日常运维场景中&#xff0c;我们经常需要远程连接到公司的高配工作站、机房服务器或家中的调试开发机。 作为国内普及…...