加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-router – 在Redux应用程序中的页面转换时拒绝先前路由的

发布时间:2020-12-15 20:19:15 所属栏目:百科 来源:网络整理
导读:我有React路由器的Redux应用程序(基于 https://github.com/este/este). 在一个Route中,可能有超过1个AJAX调用(由redux-promise-middleware redux-thunk触发).当页面更改(通过react-router)时,我希望拒绝前一个路由触发的所有剩余的_SUCESS或_FAILED回调操作.
我有React路由器的Redux应用程序(基于 https://github.com/este/este).

在一个Route中,可能有超过1个AJAX调用(由redux-promise-middleware& redux-thunk触发).当页面更改(通过react-router)时,我希望拒绝前一个路由触发的所有剩余的_SUCESS或_FAILED回调操作.

做这个的最好方式是什么?

解决方法

我建议您使用页面识别的数据.这意味着在启动fetch的操作中,添加页面上下文.当reducer获取数据时,它可以为该页面上下文保存它,或者如果该位置与浏览器不同(意味着用户已导航),它可以将其丢弃.如果您保留不同页面/上下文的数据,那么如果用户返回(如果这是您想要的东西),您还可以获得这些奖励.

>你在网址“/ pageX”.您开始获取数据,并且该操作确保在要调度SUCCESS操作时记住页面上下文.当reducer处理动作时,它将数据存储在store.context [“/ pageX”].data(或类似)中.注意:如果当前位置与接收数据不同,您也可以将其丢弃(拒绝).
> UI应该知道如何从仅与其位置匹配的上下文中询问/使用数据.

您可能还想考虑跟踪应用程序状态中的浏览器位置…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读