前言##
那是15年刚学前端那会,第一次angular中见到location服务,应该是这么说来着,跟着教程一步步注入,监听,使用,惊讶于前端路由可以这么玩的。真的是,颇有有一种大局在握的感觉。
后来直到有一天看到flux,redux,忽然意识到原来他是这么个玩意,我们拥有了了统一的状态管理出入口。
简介##
让我们重新认识一下我们的web开发。
web状态机的认识。
回到URL##
URL中路由和查询参数也是状态,他也只不过是聚合状态中的普通的一个子集。而对于路由和查询参数的处理会稍稍不同。
路由就是正常跳转视图,没什么问题。
而对于参数我们需要同时改变组件中的值,如第几页,页码大小。
那么对于使用者显然不希望管理起来过于复杂,既要修改URL又要修改组件中的state。
而一旦引入了状态管理,每个动作都是有迹可循的,每个动作派发下去,改变了唯一的数据源,也就是这里的页码。
那么URL组件以及分页器组件中依赖的数据源就会同步更新,看,一切显得这么流畅。
总结##
这里用angular的location来解释redux其实有些牵强,其实是当时自己实现了一个简易的store,action,但没有reducer的低配版flux。
至于修改URL的特性低版本浏览器的降级方案,URL参数的四种形式利弊,需要补充。
原来思考的太少,仅仅觉得工具惊艳是不够的,如果有更进一步的挖掘相信会有更大的收获。
网友评论