重新验证/刷新第 2+ 页上分页集的数据

问题描述 投票:0回答:1

我创建了一个数据视图(数据通过服务器组件从数据库中获取),其中数据以卡片布局呈现,并通过

load more
策略进行分页。加载更多内容是在滚动时自动完成的,但这并不真正相关:)

在每张卡上,用户都有一个删除它的操作,这会触发服务器操作以从数据库中删除该项目。期望的结果是 UI 更新并且项目卡从视图中消失。

但是,这仅在从第一页删除项目时才有效。每当您向下滚动到第 2 页以上并删除某个项目时,它会将其从数据库中删除,但 UI 不会更新并且卡片仍然可见,直到您完全刷新页面并加载下一页。

我认为这是预期会发生的事情,因为触发删除(服务器)操作后会发生部分页面刷新(我猜),这会重新加载第一页的数据。

正确调整 UI 的首选方法是什么?

有问题的仓库:https://github.com/theboxer/pagination-example (请注意,删除的项目不会存储在任何地方,整页重新加载将显示原始数据集)

我尝试了可能是 React 中最愚蠢的事情 - 直接修改 DOM,并尝试在服务器操作触发后删除 DOM 元素,OFC 的行为完全不可预测,包括删除 2 个 DOM 节点(兄弟节点)或复制其他一些卡...

next.js pagination next.js13 app-router server-action
1个回答
0
投票

在全球国家的帮助下设法使其发挥作用。解决方案位于问题中链接的 GH 存储库中。

© www.soinside.com 2019 - 2024. All rights reserved.