美文网首页
pagination 翻页组件设计

pagination 翻页组件设计

作者: 想溜了的蜗牛 | 来源:发表于2021-02-24 16:54 被阅读0次

    因为是自研,并没有完整使用第三方的table库,所以在用起来非常不爽,还需要较大调整,现在只是第一步的记录。

    先讲下功能,项目使用 react hooks的 useContext, useReducer 做数据管理,这就要求数据必须是从上往下的。 搜索条件,页码,每页记录行数,排序字段,排序方向都是需要在context中更新。

    页面组成: 查询组件 + 表格组件 + 翻页组件

    通过写这个组件加深了对 reducer 和 useEffect 的理解。

    上边踩了个坑就是 在查询组件 和 翻页组件 中都使用了 useEffect 来发起后台请求。

    这种做法有个 bug。 后台请求依赖的参数有: order, orderBy, pageIndex, pageSize, searchWord, 其中 pageIndex, pageSize 参数是在翻页组件, order, orderBy在表格组件, searchWord在查询组件。

    按照传统开发的惯性思维,还是在每个组件做操作,在组件中使用 setState 来改变值,然后使用useEffect依赖参数的改变来发起后台请求。 这套操作在做查询,翻页,排序时会重复发起多次请求;这个问题知道的容易解决,算是入门级坑吧;

    解决方式是在 查询组件 中使用 useEffect 发起后台请求,useEffect 的依赖参数为上边那些。在其它组件如果有触发相应参数值变更的,只做dispatch 就好。

    相关文章

      网友评论

          本文标题:pagination 翻页组件设计

          本文链接:https://www.haomeiwen.com/subject/lwkjtltx.html