Vuex store vs component props:何时使用每种方法进行组件通信?

Vuex store vs component props: When use each method for component communication?

大约 2 周前我学习了 Vuex。我想我对 Vuex(或 Flux)是什么以及它是如何工作的有相当扎实的理解。

我还没有感觉到什么时候应该在商店里放 属性 什么时候不放。您知道何时执行此操作的一些准则吗?

一个明显的情况是,当需要相同信息的组件在组件层次结构中彼此相距很远时。但如果他们很亲密(是兄弟姐妹或亲子关系)怎么办?在这种情况下,您是否总是使用组件道具来传达价值?如果不是,那么什么时候不是,为什么?

走极端,在很多情况下,我可以想象存储在商店和组件中的大部分值几乎都有 none 个道具。这种情况我会觉得很奇怪,但我想知道这样的做法是否有什么问题。

他们说,Vuex 就像眼镜,你知道什么时候需要它们

但这充其量是冒昧的。所以冒着这个问题被关闭的风险,因为主要基于意见...

我想说使用 Vuex 有三个好处:

  • 无论组件距离多远,都可以轻松访问数据
  • 商店是全局状态的单一来源
  • 擅长处理异步数据变化

如果你能满足两个条件,那肯定是。但是仅仅因为您在父代和直系后代之间有数据,并不意味着您不应该使用 vuex。我经常对同一组件中的项目使用 vuex,但是如果数据对其他组件可用,或者特别是如果它是异步的(使用 API),那么它仍然可以进入 vuex。