Vue.js 为什么使用vuex会将mapState存储在computed而不是数据中?

Vue.js 为什么使用vuex会将mapState存储在computed而不是数据中?,vue.js,vuex,Vue.js,Vuex,我刚刚用vuex+Vue.js制作了一个非常简单的演示,因此我现在有以下商店代码: export default new Vuex.Store({ state: { title : 'I am the title ! Tanos avengers: End game !', links : [ 'http://amazon.com', 'http://google.com', 'http://flipkart.com',

我刚刚用vuex+Vue.js制作了一个非常简单的演示,因此我现在有以下商店代码:

export default new Vuex.Store({
  state: {
      title : 'I am the title ! Tanos avengers: End game !',
      links : [
        'http://amazon.com',
        'http://google.com',
        'http://flipkart.com',
      ]
  },
  getters : {
    countLinks : state => {
      return state.links.length;
    }
  },
  mutations: {
    ADD_LINK : ( state , link ) => {
      state.links.push( link );
    }
  }
});
现在,当我使用此存储并在组件中导入状态时,我会执行以下操作:

import { mapState } from 'vuex'; 
以及组件的
计算的
属性内部:-

computed : {
    ...mapState({ 
      title : 'title', 
      links : 'links' 
    })
},
但是为什么
…mapState
被放在
computed
中而不是
data
?数据不是应该存储与组件相关的所有属性的地方吗?

因此,基本上是与组件相关的任何属性,而不仅仅是存储在内存中的简单信息,如字符串、数字或JS对象

由于Vue必须进入Vuex并检查这个.store.state.title是什么,因此它算作一个计算,这使它成为一个计算属性,即使您自己没有像Vue指南中的示例那样实现计算