react常见bug - 查询条件变化,但page未重置为1
问题1.多次触发请求,且存在潜在的竞态问题
const [page, setPage] = useState(1);
const [keyword, setKeyword] = useState(''); useEffect(() => {
// do request
}, [page, keyword]); useEffect(() => {
setPage(1);
}, [keyword]);
问题2.查询条件变化,但page未重置为1
const [page, setPage] = useState(1);
const [keyword, setKeyword] = useState(''); useEffect(() => {
// do request
}, [page, keyword]);
以上问题的改进方法:推荐使用第三方库:https://ahooks.js.org/zh-CN/hooks/use-pagination

import { usePagination } from 'ahooks';
const [keyword, setKeyword] = useState('');
const { data, loading, pagination } = usePagination(
({ current, pageSize }) => {
return requestXXX();
{
refreshDeps: [keyword],
},
);
react常见bug - 查询条件变化,但page未重置为1的更多相关文章
- SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法
本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种 ...
- IE6常见bug整理
By Diaoyude | 发布时间: 09-08 09:47 | Hits:1,253 | Post in: WEB前端 , Div-Css 针对IE6常见的一些ie6bug,ie6png,E6 ...
- 在Bootstrap开发框架中使用bootstrapTable表格插件和jstree树形列表插件时候,对树列表条件和查询条件的处理
在我Boostrap框架中,很多地方需要使用bootstrapTable表格插件和jstree树形列表插件来共同构建一个比较常见的查询界面,bootstrapTable表格插件主要用来实现数据的分页和 ...
- mybatis-plus QueryWrapper自定义查询条件
mybatis-plus QueryWrapper自定义查询条件 mybatis-plus框架功能很强大,把很多功能都集成了,比如自动生成代码结构,mybatis crud封装,分页,动态数据源等等, ...
- Thinkphp 带查询条件数据分页
//查询条件中如果有中文 $keyword= urldecode(I("request.keyword")); if ($keyword!=""){ $Mode ...
- jeecg 扩展封装查询条件 时间段查询
使用jeecg框架开发的小伙伴们知道,添加查询条件,通常是我们加一个配置(query="true")就可以将该字段设置为查询条件.简单方便.但是这样的配置查询条件仅适用于输入框输入 ...
- ie7,8常见bug,共计257个bug汇总?如何解决ie的历史bug
ie7.8常见bug,共计257个bug汇总 针对web开发者来说,浏览器的bug,特备是ie的bug是很多人的噩梦,因为ie的更新换代没有ff,chrome,safari,opera那么快,而且ie ...
- 条件查询,有input和select框,当查询条件获取焦点时支持摁下enter键查询
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据
Atitit.列表页面and条件查询的实现最佳实践(1)------设置查询条件and提交查询and返回json数据 1. 1. 配置条件字段@Conditional 1 1 2. 2. 配置条件字段 ...
- ibatis动态查询条件
ibatis的调试相对困难,出错的时候主要依据是log4生成的log文件和出错提示,这方面要能比较熟练的看懂. 下面这个配置基本上包含了最复杂的功能:分页\搜索\排序\缓存\传值Hash表\返回has ...
随机推荐
- 整合Junit5
1.引入依赖 <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-j ...
- 成品直播源码推荐,java 实现邮件服务
成品直播源码推荐,java 实现邮件服务 1. 引入maven 依赖 <!--邮件服务--><dependency> <groupId>org.springf ...
- create_base_x.txt
create table g_temp.test_base( field_date date, field_str varchar(100) , field_int integer ) drop ta ...
- 查看树莓派CPU当前工作频率
参考: https://raspberrypi.stackexchange.com/questions/1219/how-do-i-determine-the-current-mhz /proc/cp ...
- JAVA常用类(一)Syatem类
System类:系统类,主要用于获取系统的属性和方法,没有构造方法,其属性都是静态属性,方法都是静态方法 .System类是jdk提供的一个工具类,有final修饰,不可继承,由名字可以看出来,其中的 ...
- ubuntu 删除容器内没用的包
删除多余 apt 包 这些就是依赖的所有动态链接库,接着我们将这些包用 apt-mark 声明为"手工安装的包",即可阻止 apt purge 的自动卸载. 然后,我们再自动卸载其 ...
- 配置代码片段问题 Invalid characters in string. Control characters must be escaped.
在使用代码片段时报错 Invalid characters in string. Control characters must be escaped. " somethings" ...
- 《计算机是怎么跑起来的》第十章 XML(可扩展标记语言)
资料来源 (1) <计算机是怎么跑起来的> 注1:XML是Extensible Markup Language(可扩展标记语言)的缩写; 1.XML是标记语言 (1) 通常把通过添加标签为 ...
- x264码率控制
1. x264 1.1 preset 的参数主要调节编码速度和质量的平衡,有ultrafast.superfast.veryfast.faster.fast.medium.slow.slower.ve ...
- django连接ubuntu22下的mysql8
1.安装mysql(这里就不过多赘述了) sudo apt-get install mysql-server 2.登录mysql (1) 在 根目录/etc/mysql/debian.cnf ,使 ...