Vue的生命周期updated不能监听特定的状态变化吗?

不能像react的useEffect一样 在第二个参数中利用[]监听特定的状态的变化再重新渲染么?

或者说Vue里面有没有其他类似的功能?

有, watch 监听

watch: {
    id (newVal, oldVal) {
      //id 是data里面的数据,在这里可以打印,每当这个值变化之后 新旧值都有显示
    },
    
  }

 

watch就可以

watch:{

"$store.state.data": {
      handler(val) {
        console.log(val.id);
      },
      deep: true,
    },
}

 

可以用组件计算属性绑定vuex中的状态

// 在单独构建的版本中辅助函数为 Vuex.mapState
import { mapState } from 'vuex'

export default {
  // ...
  computed: mapState({
    // 箭头函数可使代码更简练
    count: state => state.count,

    // 传字符串参数 'count' 等同于 `state => state.count`
    countAlias: 'count',

    // 为了能够使用 `this` 获取局部状态,必须使用常规函数
    countPlusLocalState (state) {
      return state.count + this.localCount
    }
  })
}