- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
复杂Web应用的状态管理
复杂 WEB 应用的
状态管理
挖了个大坑
我是谁?我在说什么?
应用规模增大,逻辑愈发复杂
展示逻辑与数据逻辑分离
单独维护的数据逻辑
状态管理
单页应用的数据流方案探索
/xufei/ blog/ issues/47
知乎大 V ,前端网红
重磅力作
有这样一个问题
从前没人讨论状态管理的时候
我们的应用是没有状态的吗?
应用的状态在组件树的每一个节点里
在 React 的 Component 里
在 Angular 的 Controller 里
在 Vue 的 Component 里
还有一些流落在 service 里,甚至 utils 里
Local State ,也就是
State in Component
不好吗?
Application Application
Sidebar Main Navbar UserInfo Products Routes
Product
Breadcrumb ... Product A Product B ...
List
View 与 Model 的逻辑分布不等同
状态数据的拓扑关系依赖界面组件的拓扑关系
越做越没法做
那就全部拿出来
彻底解耦
吼啊 !
- Redux
Local state is ne.
- Redux 作者
所以不仅要搞
Local / Component State ,
Global / Shared State
我们也要搞
那么问题来了
状态管理怎么搞
组合与复用逻辑的能力
Single Source Of Truth
调试与测试
组合与复用逻辑的能力
数据可组合
数据转换逻辑可复用
Single Source Of Truth
Single Source Of Truth != Single Store
关键是数据推导的能力
要么只存一份数据,用时计算/推导
要么存在多份数据,但由同一份数据 (自动)推导得到
Flux 是怎么被黑的
调试与测试
Command Query Responsibility Segregation, CQRS
Event Sourcing, ES
Action/ Message/ Event - Update/ Reduce
利用调用栈
限制 管理副作用
限制 管理副作用
为什么要限制 管理
依赖运行环境
影响运行环境
不可重入、不易验证、不易模拟
如何限制 管理
禁止私下搞事情
Effect as data
React: View as data
验证描述行为的数据,并不真的执行
-- UPDATE
type Msg
Input String
| Send
| NewMessage String
update : Msg - Model - (Model, Cmd Msg)
update msg {input, messages}
case msg of
Input newInput -
(Model newInput messages, Cmd.none)
Send -
(Model messages, WebSocket.send ws:// input)
NewMessage str -
(Model input (str :: messages), Cmd.none)
-- SUBSCRIPTIONS
subscriptions : Model - Sub Msg
您可能关注的文档
最近下载
- 丽声北极星自然拼读绘本第一级 Lola and the King 课件.pptx
- 人教版2024-2025学年九年级数学上册10月月考试题[含答案].pdf
- 品质工程教学课件.pptx
- 鲁教版五四制初一年级上册册数学知识点.pdf VIP
- 《聪明的牧羊人——欧洲民间故事精选》名著导读课件.pptx VIP
- QBT 2578-2002 陶瓷原料化学成分光度分析方法.docx VIP
- 《葡萄酒葡萄酒》课件.pptx VIP
- 新人教版高中数学选择性必修第一册全套教案含情景引入核心素养word版.docx VIP
- you and me(君と僕) 松井佑贵 吉他指弹 吉他谱.pdf
- 非急救转运协议书模板.docx
文档评论(0)