react分页问题

发布于 2022-09-04 19:59:29 字数 550 浏览 14 评论 0

现在我用react做了这样一个网页:

图片描述

如图所示,模块一是一个表单,可以选择条件,比如分类什么的,点击确定就发请求。

模块二是内容显示区域,请求返回的数据渲染在区域二,是一个列表。

模块三是分页,发起请求返回对应选择条件和页数的数据渲染在模块二。

现在有一个问题,就是当选了条件或者分页,点击模块二中的某一项跳到了详情页,然后再返回的时候又回到了最初的状态,就是展示的是所有条件的条件和第一页的数据,而我希望对的是能回到跳转前的状态,就是展示跳转前选定的条件和页数对应的数据。我该怎么做呢?

而其实在实际的react开发中这种分页是怎么做的?可以结合react-router。

如果是没有分页的模块三,而是在最下边有一个区域,点击可以加载更多,这样的话又怎么实现上面所提对的需求呢?

求大神来答!!!
或者给个思路也好啊~~~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

暖树树初阳… 2022-09-11 19:59:29
  1. 可以把筛选的参数以及分页的参数都放在url中,比如:

    .../listPageA/name=ash&page=1&size=20 (路由设置成‘.../listPageA/:filterData’)
        

    这样的话实际上每一次筛选和分页都是一次路由的跳转,在组件的componentDidMount里面去获取路由传递的参数然后发送请求并填充筛选项。这个用react-router配合比较好做,缺点就是url会比较丑,不在意url的话,这个是最实用的也是最简单的。

  2. 使用localStorage,保存页面中的筛选信息以及分页信息;这样的话,需要考虑一下什么时候清除localStorage以及用户如果开了多个相同页面应该怎么处理。

  3. 可以换一种设计的思维,将详情的页面使用window.open在新的窗口中打开。

去掉模块三使用加载更多的需求的话,上面几点也是适用的。

满意归宿 2022-09-11 19:59:29

既然结合了react-router了,就把redux也加上,用全局的store储存状态就行。

绝不服输 2022-09-11 19:59:29

楼上两位以已经回答的相当好了, 我也无需重复,
给个 Demo: https://marmelab.com/admin-on...

至于"加载更多"的方法, 可以通过 perPage 的增加去实现.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文