Li angle 2022-08-21 20:59 采纳率: 66.7%
浏览 34
已结题

vue3中computed的value属性

问题

请教一下,在Vue3中,使用computer函数得到的结果后,访问value属性,得到了undefined是什么原因呢?computed一定有value属性吗?在vue3的材料中我看人家就可以直接访问。https://vue3js.cn/reactivity/computed.html

代码如下
// userState 保存用户状态
  const userState = computed(() => { store.state.user })
  const loadUserInfo = () => {
    if (userState.value != null) { // value为undefined
      getUserInfo(userState.value.data.id).then((res) => {
        state.userInfo = res.data;
      });
    }
  }

store中的代码

const store = createStore({
    state: {
        user: getItem(TOKEN_KEY)
    },
    mutations: {
        setUser(state, data) {
            state.user = data
            setItem(TOKEN_KEY, state.user)
        }
    }
})
  • 写回答

3条回答 默认 最新

  • 孤月葬花魂 2022-08-22 10:32
    关注

    你的userState 本身就是undefined

    箭头函数的返回简写形式应该是

    const userState = computed(() => store.state.user)
    

    你那种写法是错误的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月30日
  • 已采纳回答 8月22日
  • 修改了问题 8月21日
  • 创建了问题 8月21日