为什么$store.state里的数据通过mapState后是undefined?

我在一个子组件里面通过this.$store.state能打印出数据,但是通过mapState映射过后就是undefined了,图片描述第一个console有数据,第二个undefined,有可能是什么原因呢?
值得一提的是我store里面的adminInfo是通过从服务器取的,是否有影响呢?

阅读 1.1k
评论
    5 个回答

    没看过vuex的源码

    猜测:

    1. computed: {...mapState(['count'])}这种写法只是取一次值,因为没有对应的依赖追踪,他只调用一次,不会去更新。
    2. computed: mapState({adminInfo: state => state.adminInfo}) 这种写法是每次都从state里面取值,依赖追踪到state的数据。

    所以才导致两次的取得不一样。这也就是为什么几乎用的都是 mapGetters 的原因,因为需要自动的更新数据。当然如果只取出来用一次然后就不管的了,那么用mapState也不是不可以。

      相似问题
      推荐文章