0

我有一个跨越多条路线的多页表格。所有路由都需要通过 API 与它们共享相同的数据。我可以将 API 的响应存储在里面ngrx/store,并使用效果触发 API 调用。我的问题更多关于在哪里启动 API 调用。一旦用户通过身份验证,就需要进行 API 调用,这发生在我点击的第一条路由上(在访问多页表单的第一部分之前)。我想出的两个选项是:

  1. 在每条路线的组件内触发效果意味着我每次访问路线时都必须请求信息。当用户未通过身份验证时,守卫将阻止所有页面的访问。

  2. 在 effect 中监听经过身份验证的成功操作,并向那里的 API 发出请求。

我敢肯定,两者都是完全可以接受的,并且各有取舍。能得到一些意见就好了!

4

1 回答 1

2

第二种是最好的,当用户经过身份验证并且允许使用它时请求按需信息更有意义。正如您所说,在守卫内部,您应该在返回 true/of(true) 之前调度操作以加载信息以表示可以激活路由。天真的方法会在您尝试激活受保护的路由时触发信息请求。

于 2017-06-05T22:12:31.643 回答