haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.52k stars 3.26k forks source link

[vue] 有用过vuex吗?它主要解决的是什么问题?推荐在哪些场景用? #384

Open haizhilin2013 opened 5 years ago

haizhilin2013 commented 5 years ago

[vue] 有用过vuex吗?它主要解决的是什么问题?推荐在哪些场景用?

forever-z-133 commented 5 years ago

我主要还是当全局变量来用的,比如登录人信息、token、浏览记录、跨组件的较大临时数据传递。 以往需要调个方法取全局变量或缓存,其实反而增加了初始化流程,而会自动更新的 vuex 就很好用了。

WenJieLi1998 commented 4 years ago

解决的问题: 多个视图依赖同一个状态 来自不同视图的行为需要变更同一状态 适用于中大型的单页面应用

WenJieLi1998 commented 4 years ago

主要解决: 多个视图共享一个状态 来自不同视图的行为需要变更同一状态 推荐在大型单页面的项目上使用

waterkitten commented 4 years ago

解决两个问题

多个组件依赖于同一状态时,对于多层嵌套的组件的传参将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。 来自不同组件的行为需要变更同一状态。以往采用父子组件直接引用或者通过事件来变更和同步状态的多份拷贝。以上的这些模式非常脆弱,通常会导致无法维护的代码。

什么时候用Vuex?

当项目遇到以下两种场景时

多个组件依赖于同一状态时。 来自不同组件的行为需要变更同一状态。

yxllovewq commented 2 years ago

总结:

  1. 多个组件共享同一个状态。
  2. 多个组件需要变更同一个状态。
loveChina2242 commented 2 years ago

多个组件共享同一个状态。 多个组件需要变更同一个状态。