React/ReactNative面试攻略(偏RN)
useMemo Vs useCallBack
useMemo第一个参数返回的是值,useCallBack返回的是函数
useMemo和useCallBack第二个参数都是依赖项
useMemo避免组件非依赖项更新时参数的计算
useCallback避免父组件非依赖项更新时造成子组件的重复渲染
React.memo 使用场景
纯prue组件(没有内部依赖)
子组件有回调函数,搭配useCallBack使用
组件经常被相同props重复渲染
全局状态管理方案
Context官方提供的一种跨组件访问的一种方案
React.createContext 创建上下文,并接受默认参数,并返回provider和consumer组件
也可用useContext获取上下文
useReducer与useContext结合
useReducer创建state状态,再使用useContext共享数据
Redux 常用全局状态管理
创建createStore
App.js 中添加订阅:
<Provider store={reduxStore}>{Childer}
</Provider>
使用
// useDispatch用于导出dispatch方法const dispatch = useDispatch();
//stateconst counter = useSelector<CounterState, number>((state) => state.counter);
Redux流程
用户操作或者函数触发dispatch,将数据请求传给store
store直接提交action给reducers,reducer根据action的类型处理数据后,并将处理结果返回store
store将结果返回到组件
setState
setState是异步更新
在合成事件,通过设置isBatchingUpdates设置为false,先获取state再赋值,体现为中同步更新:addEventListener、setTimeout、setInterval
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
React/ReactNative面试攻略(偏RN)
useMemo Vs useCallBackuseMemo第一个参数返回的是值,useCallBack返回的是函数useMemo和useCallBack第二个参数都是依赖项useMemo避免组件非依赖项更新时参数的计算useCallback避免父组件非依赖项更新时造成子组件的重复渲染React.memo 使用场景纯prue组件ÿ…...
![](https://img-blog.csdnimg.cn/1ad666cca0ad430a89dee4b4f552b889.png)
Leetcode-每日一题1234. 替换子串得到平衡字符串(滑动窗口 + 哈希表)
题目链接:https://leetcode.cn/problems/replace-the-substring-for-balanced-string/description/ 思路 题目意思 这题意思是一个只含有[Q, W, E, R] 四个字符的字符串s且长度一定是 4的倍数, 需要你通过替换子串,使他变成一个「平衡字符…...
![](https://www.ngui.cc/images/no-images.jpg)
linux命令小结-查看日志命令
一、查看日志命令cat查看文件 vi编辑后可以用cat进行查看保存是否成功1)cat -n alert_monitor.log2)cat -n alert_monitor.log | tail -n 100 | head -n 20 //查询100行之后的日志,且在100行之后里再查前20条日志more 可以通过回撤键翻页mor…...
![](https://img-blog.csdnimg.cn/24d08b9ba75b4f03a2069387763fdb75.png)
Java知识点细节简易汇总——(8)枚举和注解+Java面向对象高级作业
一、枚举 自定义枚举 当我们使用 enum 关键字开发一个枚举类时,默认会继承 Enum 类, 而且是一个 final 类[如何证明],老师使用 javap 工具来演示传统的 public static final Season2 SPRING new Season2(“春天”, “温暖”); 简化成 SPRING(“春天”, “温暖”)…...
![](https://www.ngui.cc/images/no-images.jpg)
快速上手JVM- Java Virtual Machine面试不用慌
一、JVM的定义 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,J…...
![](https://img-blog.csdnimg.cn/904b33fea0a74e65a173d046a3b08459.jpeg)
安警官的IP地址是怎样定位到莽村附近的?
要说最近大火的电视剧非《狂飙》莫属。电视剧《狂飙》自开播以来,一举超过《三体》《去有风的地方》等先播电视剧,收视率一路“狂飙”,牢牢占据近期的收视冠军。 在剧中,张译扮演一名坚持公平、正义与理想的人民警察“安欣”&…...
![](https://img-blog.csdnimg.cn/img_convert/a8aa938f45d64327eee4a94f42c64d6a.jpeg)
STL中重要容器vector总结
你要尽全力保护你的梦想。那些嘲笑你的人,他们必定会失败,他们想把你变成和他们一样的人。如果你有梦想的话,就要努力去实现。 ——《当幸福来敲门》引言:C中STL里面的容器用法很巧妙,可以解决很多复杂的模型ÿ…...
![](https://img-blog.csdnimg.cn/06b5117bb9234dac99b96268fa6a8f1f.png)
11_会话原理与实现流程
1、会话的基本知识 # 会话## 1.会话是什么?客户端与服务器之间的对话交流## 2.为什么需要会话?-http 协议是无状态的(六亲不认)-同一用户多次访问同一网站,对网站来说,每次都是全新的-网站不能识别用户身份…...
![](https://img-blog.csdnimg.cn/b93cfc6fd99f4eeea985e11032e4d8a1.png)
Java测试——junit的使用(2)
排序 我们同一个类下的多个用例的执行顺序是不确定的,如果需要指定固定的顺序,则需要在类上加这个注解 TestMethodOrder(MethodOrderer.OrderAnnotation.class)然后在想要第一个执行的用例上加上 Order(1)第二个执行的用例上注解: Order(…...
![](https://img-blog.csdnimg.cn/6ee451a813b444e092626f318885f7df.png)
数据库(六): MySQL的主从复制和读写分离
文章目录一、为什么要使用主从复制和读写分离二、主从复制的原理三、如何实现主从复制3.1 master配置3.2 slave配置3.3 测试主从复制四、读写分离五、缺点一、为什么要使用主从复制和读写分离 注意到主从复制和读写分离一般是一起使用的。目的很简单,就是提高数据库…...
![](https://img-blog.csdnimg.cn/img_convert/b04ce33d90163c36646d66077618f839.png)
编程思想-0x00架构
产生架构的原因? 1、代码均摊 将不同的代码进行分块,然后简历联系,低耦合、高内聚; 原则上:合理的App架构应该是合理分配每个类、结构体、方法、变量的存在都应该遵循单一职责的原则 2、便于测试 测试确保代码质量&…...
![](https://img-blog.csdnimg.cn/img_convert/6d2bcd8618f76ec7ad714a014d1a978f.png)
QCon演讲实录(上):多云环境下应用管理与交付实践
作者:阿里云大数据基础工程技术团队——郭耀星 大家上午好!我是来自阿里云大数据基础工程技术团队的郭耀星,花名雪尧。今天我很高兴能够来到QCon,与大家分享我的经验和心得。在当前的多云环境中,作为运维支撑团队&…...
![](https://img-blog.csdnimg.cn/12dce20e342b4192a612518a10b00ddd.png)
async thunk 解决 API 调用的依赖问题
async thunk 解决 API 调用的依赖问题 一句话节省看下面一堆内容的时间就是: async thunk 中可以使用 async/await 锁住其他的 action 操作 一般 API 之间存在三种情况: A 和 B 之间没有依赖关系 这样的情况下,A 和 B 可以各调用各的&#x…...
![](https://img-blog.csdnimg.cn/37da5b1c34ae43b5a87b21a06cfaccf4.png)
java 黑马头条 day3 实名认证分布式事务问题 seata
1 完善实名认证功能 1.1 实名认证分布式事务问题 1.1.1 问题分析 在昨天的实名认证代码中,审核完毕后添加 id5的演示异常,重新使用postman进行测试, 会发现 出现异常后 本地方法因为有 Transactional注解 对ap_user ap_user_realname的操作会回滚 而…...
![](https://img-blog.csdnimg.cn/img_convert/1d6c4b779fe85944cf1977495a229599.gif)
测试开发之Django实战示例 第七章 创建电商网站
第七章 创建电商网站在上一章里,创建了用户关注系统和行为流应用,还学习了使用Django的信号功能与使用Redis数据库存储图片浏览次数和排名。这一章将学习如何创建一个基础的电商网站。本章将学习创建商品品类目录,通过session实现购物车功能。…...
![](https://img-blog.csdnimg.cn/24bafa1d351749b9af6d97a4daf9ddd7.png)
【C++之容器篇】造轮子:list的模拟实现与使用
目录前言一、关于list1. 简介2. 成员类型二、默认成员函数1. 构造函数1. list()2. list(size_t n,const T& val T())和list(InputIterator first,InputIterator last)2. 拷贝构造函数3. 析构函数4. 赋值运算符重载函数三、迭代器1. 普通对象的正向迭代器2. const对象的正向…...
![](https://www.ngui.cc/images/no-images.jpg)
自动驾驶:决策规划算法岗位面经分享
本专栏分享 计算机小伙伴秋招春招找工作的面试经验和面试的详情知识点 专栏首页: 主要分享计算机算法类在面试互联网公司时候一些真实的经验 人情况是985本硕,硕士研究方向是强化学习在移动机器人路径规划中的应用,一段自动驾驶中小厂实习经历,秋招找的大都是机器人和自动驾…...
![](https://img-blog.csdnimg.cn/img_convert/1bb1df599e3b49616f7a33aa7c292080.png)
2.7、进程调度的时机、切换与过程、方式
1、进程调度的时机 进程调度\color{red}进程调度进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机 进程在操作系统内核程序临界区\color{red}操作系统内核程序临界区操作系统内核程序临界区中不能\color{red}不能…...
![](https://www.ngui.cc/images/no-images.jpg)
工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发
工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…...
![](https://www.ngui.cc/images/no-images.jpg)
ESP32S3系列--SPI从机驱动详解(一)
一、目的 在之前的博文中《ESP32S3系列--SPI主机驱动详解(一)》、《ESP32S3系列--SPI主机驱动详解(二)》我们详细讲解了ESP32S3上的SPI外设如何工作在主机模式并通过代码的形式帮助大家理解。 本篇我们将介绍SPI外设工作在从机模式下的使用知识点。 二、介绍 参考资料 http…...
![](https://www.ngui.cc/images/no-images.jpg)
【实战篇】移动端H5网页在ios滑动不流畅和禁止缩放问题
问题描述:移动端H5网页在ios滑动不流畅和禁止缩放问题 最近开发小程序,有一个富文本展示页面使用的是<webview>H5网页嵌入的,当你用 overflow-y:scroll 属性的时候,内容超出容器溢出滚动的效果很迟顿,特别是在IOS系统中,而且页面还会缩放。 解决方案: 1…...
![](https://img-blog.csdnimg.cn/2f37b5089b914c0894b9d657f64d9a6d.png)
12 循环神经网络(基础篇) Basic RNN
文章目录问题引入关于权重权重共享RNN CellRNN原理RNN计算过程代码实现RNN Cell维度说明代码RNN维度说明NumLayers说明计算过程代码参考实例问题分析多分类问题代码RNN CellRNN改进Embedding网络结构Embedding说明Linear说明代码课程来源: 链接课程文本参考…...
![](https://img-blog.csdnimg.cn/img_convert/197ea7cb0bc8bbc48f4f9650aedf8445.png)
【C语言必经之路——第11节】初阶指针(2)
五、指针的运算1、指针与整数相加减看一下下面的代码:#include<stdio.h> int my_strlen(char* str) {int count0;while(*str!\0){count;str;//指针加减整数}return count; } int main() {int lenmy_strlen("abcdef");printf("%d\n",len);…...
![](https://www.ngui.cc/images/no-images.jpg)
SpringBoot学习(1)第一个SpringBoot程序
之前的SpringMVc就不在记录了,好像时间不太够了,但是springmvc作为javaweb的升级学一学对于springboot还是有较大的帮助的。 首先我们需要引入依赖,但是请注意,其中的一个不算是依赖,写法有所不同 首先需要引入 <…...
![](https://img-blog.csdnimg.cn/c267283799e948449b23299831e93227.jpeg)
什么是热迁移?90%的企业都理解错误
科技的发展,新冠的冲击,让市场竞争愈发激烈。尽管云计算服务为企业免除了基础硬件的建设和维护成本,当企业需要进行业务跨架调整、升级维护、环境测试等场景而进行云迁移,其过程中所带来的停机时间,就变得尤为头疼了。…...
![](https://www.ngui.cc/images/no-images.jpg)
Scratch少儿编程案例-丝滑版贪吃蛇
专栏分享 点击跳转=>Unity3D特效百例点击跳转=>案例项目实战源码点击跳转=>游戏脚本-辅助自动化点击跳转=>Android控件全解手册点击跳转=>Scratch编程案例👉关于作者...
![](https://www.ngui.cc/images/no-images.jpg)
Linux系统之网卡子接口配置方法
Linux系统之网卡子接口配置方法一、本地系统环境检查1.检查系统版本2.检查系统内核版本3.检查本地IP地址二、网卡子接口介绍1.网卡子接口简介2.网卡子接口的优点3.网卡子接口的缺点三 加载802.1q 模块1.查看系统802.1q 模块信息2.加载802.1q 模块3.检查802.1q 模块加载状态四、…...
![](https://img-blog.csdnimg.cn/876d92dbfa6d48c98dac72c35498c52c.jpeg#pic_center)
2023上半年软考中级系统集成项目管理工程师2月25日开班
系统集成项目管理工程师是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目之一,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职…...
![](https://img-blog.csdnimg.cn/img_convert/6dff9792bbadd42690dcd427fc09f9f5.png)
YOLO-V5轻松上手
之前介绍了YOLO-V1~V4版本各做了哪些事以及相较于之前版本的改进。有的人或许会想“直接学习最近版本的算法不好吗”,在我看来,每一个年代的版本/算法都凝聚着当年学术界的智慧,即便是它被淘汰了也依旧有值得思考的地方,或是可以使…...
![](https://www.ngui.cc/images/no-images.jpg)
CSS的优先级理解
权重 的 4个等级定义我们把特殊性分为4个等级,每一个等级代表一类选择器,每个等级的值相加得出选择器的权重。4个等级的定义如下:第一等级:代表内联样式,如style"",权值为 1000第二等级ÿ…...
![](/images/no-images.jpg)
讨论致同国际网站建设情况/企业宣传方式
每一个函数的对象都有一个length,表示该函数期望接收到的参数格式,他与函数的arguments不同,arguments.length表示函数实际接收到的参数格式。 <script type"text/javascript">function add(num1,num2,num3){}alert(add.len…...
![](https://images2017.cnblogs.com/blog/457833/201708/457833-20170805115929506-1478785311.png)
北京哪个网站最好/新闻 最新消息
目录 设计重点流程图伪代码 2.1. PublishEvent 2.2. SubscribeEvent 2.3. Publisher 2.4. Subscriber微服务 强一致性 3.1 Publisher 3.2 Subscriber事件总线 - 跨服务 最终一致性 4.1 Publisher & Subscriber 都开启了本地事务,保证了强一致性 4.2 问题场景一&…...
![](https://img-blog.csdnimg.cn/img_convert/835888de17dbc661456ee866ad001227.png)
湖南长沙又检出1例阳性/关键词优化怎么弄
Linux编程点击右侧关注,免费入门到精通!网友说,他家汪星人自从体验过滑板之后就再也不肯下地走路了。推荐↓↓↓ 长按关注?【16个技术公众号】都在这里!涵盖:程序员大咖、源码共读、程序员共读、数据结构与算法、黑客…...
![](/images/no-images.jpg)
双井做网站的公司/搜索推广竞价托管哪家好
给div设置overflow-y:scroll;内容滚动时,移动端会出现卡顿现象, -webkit-overflow-scrolling: touch;可以加速设备,WebKit私有的属性“-webkit-overflow-scrolling: touch”(允许独立的滚动区域和触摸回弹) <!DOCTY…...
![](/images/no-images.jpg)
网站如何做图片特效/seo全称
使用的是XHScrollMenu和UIPageViewController来构建5个页面:ViewController1, ViewController2, ViewController3, ViewController4, ViewController5。XHScrollMenu和UIPageViewController左右滑动均可以控制页面的切换。一般情况下是正确的。但如果点击了menu,切换…...
![](/images/no-images.jpg)
网站建设及规划方案/百度浏览器网页
亲密---我感觉,可以用和人和事处的时间长短,并用心 难?不去做? 前作业: 1.什么是微服务 将整个项目,按照功能拆分,拆分后能够更容易地部署,扩展,没有技术壁垒 2.微服务用什么优势,go或者py去做,怎么实现 …...