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(或类似)中.注意:如果当前位置与接收数据不同,您也可以将其丢弃(拒绝). 您可能还想考虑跟踪应用程序状态中的浏览器位置… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |