React查询、搜索类功能的实现

React查询、搜索类功能的实现

查询之类的如果是通过向列表接口中发送对应参数来查询的,那么在默认输出时,在useEffect钩子中的请求中可以先为需要查询的请求参数设初始的state,也就是null或者未定义,这样的话初始请求的还是整个列表,然后将这些state放入useEffect的依赖中,也就是第二个参数的数组中,然后在一些查询相关的组件中,如下拉选项、Search搜索框、时间选择器等,具体根据可查询项决定,然后更新初始设置的state,set为在这些组件的事件函数中将组件筛选的最终值。因为useEffect监听到了这些状态发生的变化,所以重复执行了,重新调用了接口并传递了筛选参数,列表状态也发生了改变,就完成了查询的功能。

以下为下拉选项实例:

请求函数部分:

复制代码
 const [tableList, setTableList] = useState([]);
 const [status, setStatus] = useState();
 const [title, setTitle] = useState();
useEffect(() => {
   axios.get('http://crmeb.kuxia.top/adminapi/cms/category',{
   	 status: status,
   	 title: title
   	}).then((res) => {
      setTableList(res.data.list);
    });
  }, [status, title]);//将sataus设为依赖
<Select
   options={[
       { label: '全部', value: null },
       { label: '显示', value: 1 },
       { label: '不显示', value: 0 },
    ]}
     onChange={(value) => {
         setStatus(value);//更改了status的状态触发了useEffect重新执行并发送了状态参数完成筛选查询
      }}/>
相关推荐
卸任4 小时前
Vibe coding工具使用心得
前端·ai编程
brien95 小时前
为什么模型标称 1M,Google Antigravity 聊到 256K 却突然失忆?我们给它做了个原生行内监控圆环
前端
修炼的dance5 小时前
录屏关键帧间隔多少合适?六档实测,2秒到10秒小了75.6%
前端
Lank_M5 小时前
关键帧从1秒拉到10秒,录屏小87.3%,摄像头小10.8%
前端
补码缩写5 小时前
用 ffprobe 拆录屏,八成字节在 29 个关键帧上
前端
百思不得小李6 小时前
一个复杂的动态表单是如何实现的
前端·设计模式
陈随易6 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
清晨Coding6 小时前
删了 Cookie 还能自动登录?Google系网站登录态自动恢复的原理分析
javascript
风骏时光牛马6 小时前
前沿视界
前端
kyriewen6 小时前
我扫了 814 个依赖,97 个还敢要 Node 10
前端·javascript·程序员