vuex的意义是什么?

2022-12-25 0 748

Vuex/Redux/Flux 绝非必须的,甚至有些情况下来说全然是无用。

非官方所推荐的原因有四点:

晚期React,Vue 不健全,导致统计数据并没和组件的图形结构完全一致,快照是双向统计报文,而统计数据如果不是,就很难出现统计数据连续性难题。强制性纯表达式,科尔曼化以及利用其他表达式式经营理念能规范化合作开发,更有利于同时实现销售业务方法论。单纯,不必处置繁杂的跨层次倚赖难题(单个统计数据)。

再者其他跨组件统计数据传达甚么的,跟 Vuex/Redux/Flux 一点关系都没,都是当权者未免,跨组件统计数据传达是 Provide/Inject ,vm 示例统计数据, localstorage, indexDb 的工作,部分能说是 Vuex/Redux/Flux 的装载同时实现,绝非其主要目地。

Redux 的五大准则,单个统计管理辅助工具,黎贞State,纯表达式修正,没一条是说跨组件统计数据传达的,Vuex的表述也是:

它采用封闭式储存管理应用应用领域的所有组件的状况,并以适当的准则确保状况以一种可预估的方式发生改变

阐释成而已为了跨组件传达统计数据,就会给你带来所苦,比如说你的难题:

觉得vuex的机能能用localstorage替代

这个讲法就不对,vuex和localstorage全然是三个不同应用领域的辅助工具,localstorage是统计数据储存,而vuex是“可预估地处置销售业务方法论”,三个两个是面向全国静态统计数据,两个是面向全国静态运转时,难于进行比较。

你就算觉得不该用 vuex 或者redux,不必是了,这些辅助工具都而已特定发展史时期的乙醛。

但是他们的相关基本概念不容不知,比如说 redux 的 纯表达式,科尔曼化,vuex 的 module。

现在统计数据倚赖和快照存取是态势,非官方所推荐的第二个理据已然成为发展史:

Angular 16年就提出了组件倚赖转化成,service 和 组件 通过 module 存取在一起,聚合 转化成树和 组件树,都是单项统计报文,之后又有ivy 编译到模板,数据的结构本身是和快照存取在一起,所以在 Angular 项目中 搞状况管理最开始让人不解。

React 16.8 以后,统计数据倚赖同时也是图形结构 FiberNode 的属性,memorized state,类 redux 的 useReducer 也能更方便地让你在任何局部处置嵌套对象结构。

这种情况下,你又何必去纠结 是否 使用 redux,还得天天处置深复制浅赋值,把性能搞得惨不忍睹,改个状况嵌套一长串,取值也麻烦,有更好的方式为甚么不必呢?

再者调试和 time travel,你能连着快照和状况一起复用,真没多少销售业务方法论代码需要你实际合作开发的时候写了,参考 umi hooks。即便不必可复用 hooks, 开个 useReducer 看打印不香么?

当然,如果为了打印好看,那还是用 vuex 和 redux 吧。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务