【发布时间】:2022-01-07 17:52:03
【问题描述】:
我在 v4 上找到了很多带有 onLeave 函数的示例。然而,这似乎在 v4 之后就停止了。
我见过一些<Prompt> 的例子,但我认为这不是我要找的。如果您有合适的案例,我愿意接受。
我的场景: React v16 应用程序,我有多个表。我在商店中有一个部分(全局状态),我保留了某些 ui 偏好。表格分页并重用一些相同的状态信息进行分页、排序等。
用户故事 - 用户选择第 4 页,然后导航到另一个表,仍然在第 4 页(从商店读取分页)。我只是想从状态中清除值(我使用 redux,所以我将调用一个动作来执行此操作)但我如何才能触发它,例如,仅在我的应用程序中的几条路由上。这样我可以在休假时重置它,并在用户到达下一张桌子时准备好?
//edit for comment 1, basic example
const routes = [
{
path: "/one-thing",
component: OneThing,
},
{
path: "/two-thing",
component: TwoThing,
},
...
这是一个巨大的应用程序,但这可能会澄清。当我离开路径 /one-thing 时,如何运行代码?
我们曾经在 v4 中能够做到这一点
{
path: "/two-thing",
component: TwoThing,
onLeave: doAThing,
},
【问题讨论】:
-
新表是否在新路由上?还是在同一路线上使用不同的桌子?你能分享一个示例代码sn-p吗?
-
不是很清楚。一方面你说用户故事是他们在访问/导航到另一个表后仍然在第 4 页,但在下面你明确询问当你离开路径“/one-thing”时运行代码。
标签: reactjs react-router react-router-dom