想象一下使用vue 2的以下中型/大型App(使用vue 3,由于有成分api,它很容易回答),在这里我们获得了App.vue,其中包含X数量的组件:
假设“孩子c”和“比较A”使用相同的状态(或某些人说的单一事实来源)。话虽如此,我们可以使用vuex将状态存储在一个地方,问题是现在我们有了一些需要在两个遥远组件之间共享的数据的全局状态,但是老实说我不知道这是一个好习惯。
现在,如果某些组件之间的状态不同时出现相同的需求,我们将不得不重复相同的方法,为需要消耗相同数据的某些组件创建许多全局vuex存储。
现在,我们还有Vue 2.6 Observable,这些可观察的对象与不具有vuex开发工具支持的vuex基本相同,并且已经内置在Vue 2中,但是没有足够的文档。这是托马斯·芬德利(Thomas Findlay)在书中的名言-企业之路:
您如何看待,对于大型应用程序,vuex在vue 2中真的值得吗?
通常,仅当不同父母的孩子需要访问相同数据时,才需要Vuex或全局状态。例如,如果应用程序具有多个分支,则在全局状态下进行身份验证是一种很好的方法。
使用事件总线是有效的,但是一旦应用程序增长到一定程度,它就会变得很复杂,并且很难理解数据从哪里流向哪些组件。
应该认真确定哪些数据实际需要全局,因为需要付出一定的代价,而开销却很大。
我理解您的抵制,全局变量很难看,但是许多开发人员选择使用全局状态管理,以便有需要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句