本文为中文翻译
原文: https:// dev.to/blacksonic/you-m ight-not-need-vuex-with-vue-3-52e4
Vuex是一个很棒的状态管理库。它很简单并且非常好的与Vue集成。为什么有人要弃用Vuex?原因可能是即将到来的Vue3暴露出了reactivity系统,这是一种新的方案去组织你的应用。新的reactivity系统非常的强大,它可以被用来中心化状态管理。
你需要共享状态么?
在一些场景,多组件中的数据流你很难做中心化的状态管理,这些场景包括:
- 多个组件使用一样的数据
- 多个根节点的数据访问
- 深嵌套的组件
如果以上的场景你都没有遇到,那么答案是显而易见的,不管你需要Vuex与否,你都不需要。
但是当你遇到了这些场景,最直截了当的回答是使用Vuex。它是久经考验的解决方案,而且做的很好。
你不想添加其他三方依赖或者发现Vuex的方案过于复杂?新的Vue3版本,可以使用composition-api中的内置方法解决这些问题。
新的方案
共享状态方案必须符合两种标准:
- 响应式:当共享状态改变,组件中使用到的部分也需要更新。