V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zzlit
V2EX  ›  程序员

vue3 中自定义的 hook 响应式更新丢失,已有 demo

  •  
  •   zzlit · 3 天前 · 361 次点击

    求大佬帮忙解答一下为什么 data.value 没有正常在视图更新

    https://codesandbox.io/p/devbox/awesome-waterfall-9mrd5g?workspaceId=ws_8mnERbpxDK7QmBsiE3gHzk

    bojackhorseman
        1
    bojackhorseman  
       3 天前
    你都没有调用`getDataApi`展示个屁啊
    ```
    const { data, getDataApi } = useDemoHook();

    getDataApi()
    ```
    KouShuiYu
        2
    KouShuiYu  
       3 天前
    ultimate42
        3
    ultimate42  
       3 天前
    @bojackhorseman 绷不住
    Orangeee
        4
    Orangeee  
       3 天前   ❤️ 1
    这是个 JS 函数问题,你在 2 个不同的地方调用了函数 useDemoHook ,外层 APP 的 getDataApi() 调用不会影响到 HelloWord 里的 useDemoHook 函数内的函数作用域变量。
    zzlit
        5
    zzlit  
    OP
       3 天前
    @Orangeee 感谢...好简单的问题,我给绕进去了
    mizuki9
        6
    mizuki9  
       3 天前
    hook 实际上就是个普通函数,每次调用都返回新的闭包,又不是全局变量。
    Track13
        7
    Track13  
       3 天前
    你的 data 又不是指向同一个 ref ,为什么页面要变。🤣
    zzlit
        8
    zzlit  
    OP
       3 天前
    @mizuki9
    @Track13 是啊,因为是一坨公共逻辑,我就封装了一下,结果就出现这个,然后就开始找问题没往这方面想,真菜...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1169 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:16 · PVG 02:16 · LAX 10:16 · JFK 13:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.