看了vuex
的一些文档,大多数说的比较官方,说实话,看的云里雾里的。
这里向熟悉vuex的大神提几个问题,希望大神们用通俗易懂的话告诉我它的真理。
什么是状态管理?
经常看到
vuex
文件夹下的store.js
、actions.js
、getters.js
,这几个各自的作用及关系?
function makeAction(type) {
return ({ dispatch }, ...args) => dispatch(type, ...args);
};
action.js
中这段代码的意义是什么?
请原谅我的无知,感谢大神指点
个人理解:
1、对于状态管理
你可以认为你定义了一个变量X,这个X最终会渲染到html的某<p>上。
现在你修改了X,你知道,浏览器知道,但是这个html不知道,这就需要一个啥玩意要监视着这个X,当X被修改的时候,察觉并去修改某<p>
2、
store.js里存的就是你的X,只有存在这里,X才会被监视。文件中包含state和mutations,一个是状态一个是修改方法;
getters.js,从这里才能获取到被监视的X;
action.js,从这里修改X,他的变动才会被监视发现。
其实就是返回了个函数而已,主要执行的就是dispatch。
比如
dispatch('X','AAAA')
,那么<p>那里就会变成字符串AAAA了。流程大概就是这样:
actions.js修改→store.js发现修改→getters.js渲染
大致就是这么个意思,根据1.0自己得来的经验。
然而我觉得这么做挺恶心的,兜了一大圈没有靠谱的debug方法,性能还上不去。