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

React/ReactNative面试攻略(偏RN)

  1. useMemo Vs useCallBack

  1. useMemo第一个参数返回的是值,useCallBack返回的是函数

  1. useMemo和useCallBack第二个参数都是依赖项

  1. useMemo避免组件非依赖项更新时参数的计算

  1. useCallback避免父组件非依赖项更新时造成子组件的重复渲染

  1. React.memo 使用场景

  1. 纯prue组件(没有内部依赖)

  1. 子组件有回调函数,搭配useCallBack使用

  1. 组件经常被相同props重复渲染

  1. 全局状态管理方案

  1. Context官方提供的一种跨组件访问的一种方案

  1. React.createContext 创建上下文,并接受默认参数,并返回provider和consumer组件

  1. 也可用useContext获取上下文

  1. useReducer与useContext结合

  1. useReducer创建state状态,再使用useContext共享数据

  1. Redux 常用全局状态管理

  1. 创建createStore

  1. App.js 中添加订阅:

<Provider store={reduxStore}>{Childer}
</Provider>
  1. 使用

// useDispatch用于导出dispatch方法const dispatch = useDispatch();
//stateconst counter = useSelector<CounterState, number>((state) => state.counter);
  1. Redux流程

  1. 用户操作或者函数触发dispatch,将数据请求传给store

  1. store直接提交action给reducers,reducer根据action的类型处理数据后,并将处理结果返回store

  1. store将结果返回到组件

  1. setState

  1. setState是异步更新

  1. 在合成事件,通过设置isBatchingUpdates设置为false,先获取state再赋值,体现为中同步更新:addEventListener、setTimeout、setInterval

相关文章:

React/ReactNative面试攻略(偏RN)

useMemo Vs useCallBackuseMemo第一个参数返回的是值&#xff0c;useCallBack返回的是函数useMemo和useCallBack第二个参数都是依赖项useMemo避免组件非依赖项更新时参数的计算useCallback避免父组件非依赖项更新时造成子组件的重复渲染React.memo 使用场景纯prue组件&#xff…...

Leetcode-每日一题1234. 替换子串得到平衡字符串(滑动窗口 + 哈希表)

题目链接&#xff1a;https://leetcode.cn/problems/replace-the-substring-for-balanced-string/description/ 思路 题目意思 这题意思是一个只含有[Q, W, E, R] 四个字符的字符串s且长度一定是 4的倍数&#xff0c; 需要你通过替换子串&#xff0c;使他变成一个「平衡字符…...

linux命令小结-查看日志命令

一、查看日志命令cat查看文件 vi编辑后可以用cat进行查看保存是否成功1&#xff09;cat -n alert_monitor.log2&#xff09;cat -n alert_monitor.log | tail -n 100 | head -n 20 //查询100行之后的日志&#xff0c;且在100行之后里再查前20条日志more 可以通过回撤键翻页mor…...

Java知识点细节简易汇总——(8)枚举和注解+Java面向对象高级作业

一、枚举 自定义枚举 当我们使用 enum 关键字开发一个枚举类时&#xff0c;默认会继承 Enum 类, 而且是一个 final 类[如何证明],老师使用 javap 工具来演示传统的 public static final Season2 SPRING new Season2(“春天”, “温暖”); 简化成 SPRING(“春天”, “温暖”)…...

快速上手JVM- Java Virtual Machine面试不用慌

一、JVM的定义 JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后&#xff0c;J…...

安警官的IP地址是怎样定位到莽村附近的?

要说最近大火的电视剧非《狂飙》莫属。电视剧《狂飙》自开播以来&#xff0c;一举超过《三体》《去有风的地方》等先播电视剧&#xff0c;收视率一路“狂飙”&#xff0c;牢牢占据近期的收视冠军。 在剧中&#xff0c;张译扮演一名坚持公平、正义与理想的人民警察“安欣”&…...

STL中重要容器vector总结

你要尽全力保护你的梦想。那些嘲笑你的人&#xff0c;他们必定会失败&#xff0c;他们想把你变成和他们一样的人。如果你有梦想的话&#xff0c;就要努力去实现。 ——《当幸福来敲门》引言&#xff1a;C中STL里面的容器用法很巧妙&#xff0c;可以解决很多复杂的模型&#xff…...

11_会话原理与实现流程

1、会话的基本知识 # 会话## 1.会话是什么&#xff1f;客户端与服务器之间的对话交流## 2.为什么需要会话&#xff1f;-http 协议是无状态的&#xff08;六亲不认&#xff09;-同一用户多次访问同一网站&#xff0c;对网站来说&#xff0c;每次都是全新的-网站不能识别用户身份…...

Java测试——junit的使用(2)

排序 我们同一个类下的多个用例的执行顺序是不确定的&#xff0c;如果需要指定固定的顺序&#xff0c;则需要在类上加这个注解 TestMethodOrder(MethodOrderer.OrderAnnotation.class)然后在想要第一个执行的用例上加上 Order(1)第二个执行的用例上注解&#xff1a; Order(…...

数据库(六): MySQL的主从复制和读写分离

文章目录一、为什么要使用主从复制和读写分离二、主从复制的原理三、如何实现主从复制3.1 master配置3.2 slave配置3.3 测试主从复制四、读写分离五、缺点一、为什么要使用主从复制和读写分离 注意到主从复制和读写分离一般是一起使用的。目的很简单&#xff0c;就是提高数据库…...

编程思想-0x00架构

产生架构的原因&#xff1f; 1、代码均摊 将不同的代码进行分块&#xff0c;然后简历联系&#xff0c;低耦合、高内聚&#xff1b; 原则上&#xff1a;合理的App架构应该是合理分配每个类、结构体、方法、变量的存在都应该遵循单一职责的原则 2、便于测试 测试确保代码质量&…...

QCon演讲实录(上):多云环境下应用管理与交付实践

作者&#xff1a;阿里云大数据基础工程技术团队——郭耀星 大家上午好&#xff01;我是来自阿里云大数据基础工程技术团队的郭耀星&#xff0c;花名雪尧。今天我很高兴能够来到QCon&#xff0c;与大家分享我的经验和心得。在当前的多云环境中&#xff0c;作为运维支撑团队&…...

async thunk 解决 API 调用的依赖问题

async thunk 解决 API 调用的依赖问题 一句话节省看下面一堆内容的时间就是&#xff1a; async thunk 中可以使用 async/await 锁住其他的 action 操作 一般 API 之间存在三种情况&#xff1a; A 和 B 之间没有依赖关系 这样的情况下&#xff0c;A 和 B 可以各调用各的&#x…...

java 黑马头条 day3 实名认证分布式事务问题 seata

1 完善实名认证功能 1.1 实名认证分布式事务问题 1.1.1 问题分析 在昨天的实名认证代码中&#xff0c;审核完毕后添加 id5的演示异常&#xff0c;重新使用postman进行测试, 会发现 出现异常后 本地方法因为有 Transactional注解 对ap_user ap_user_realname的操作会回滚 而…...

测试开发之Django实战示例 第七章 创建电商网站

第七章 创建电商网站在上一章里&#xff0c;创建了用户关注系统和行为流应用&#xff0c;还学习了使用Django的信号功能与使用Redis数据库存储图片浏览次数和排名。这一章将学习如何创建一个基础的电商网站。本章将学习创建商品品类目录&#xff0c;通过session实现购物车功能。…...

【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对象的正向…...

自动驾驶:决策规划算法岗位面经分享

本专栏分享 计算机小伙伴秋招春招找工作的面试经验和面试的详情知识点 专栏首页: 主要分享计算机算法类在面试互联网公司时候一些真实的经验 人情况是985本硕,硕士研究方向是强化学习在移动机器人路径规划中的应用,一段自动驾驶中小厂实习经历,秋招找的大都是机器人和自动驾…...

2.7、进程调度的时机、切换与过程、方式

1、进程调度的时机 进程调度\color{red}进程调度进程调度&#xff08;低级调度&#xff09;&#xff0c;就是按照某种算法从就绪队列中选择一个进程为其分配处理机 进程在操作系统内核程序临界区\color{red}操作系统内核程序临界区操作系统内核程序临界区中不能\color{red}不能…...

工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…...

ESP32S3系列--SPI从机驱动详解(一)

一、目的 在之前的博文中《ESP32S3系列--SPI主机驱动详解(一)》、《ESP32S3系列--SPI主机驱动详解(二)》我们详细讲解了ESP32S3上的SPI外设如何工作在主机模式并通过代码的形式帮助大家理解。 本篇我们将介绍SPI外设工作在从机模式下的使用知识点。 二、介绍 参考资料 http…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...