美文网首页
Vue Component ref绑定问题

Vue Component ref绑定问题

作者: ThisWu | 来源:发表于2022-10-12 11:18 被阅读0次

    Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with markRaw or using shallowRef instead of ref.

    vue自从集成了ts后,相信诸多的开发者都是深受折磨。不是刨根到底的情况下真的是多余的不能在多余。但是作为一名开发者,你又无法无视那些警告。

    发生这个报错的核心是我封装了动态组件,动态组件内部的绑定又是使用的ref。
    起初一直以为是是组件内部问题。所以一直在twInput这个文件排错,如下图


    image.png

    下面是错误代码:


    image.png
    image.png

    改的过程其实也非常简单:

    //这里用ref的话,vue给出警告Vue接收到一个组件,该组件被制成反应对象。这可能会导致不必要的性能开销,应该通过将组件标记为“markRaw”或使用“shallowRef”而不是“ref”来避免。
    // 如果使用 markRaw 那么currentComp将不永远不会再成为响应式对象。 所以得使用 shallowRef
    // ref 替换成 shallowRef。跟报警告的意思是一样的。
    let objComponent= shallowRef({
        'twInput': twInput,
        'select': TwSelect,
        'date': twDate,
        'time': twTime,
        'switch': twSwitch,
        'checkbox': twCheckbox,
        'radio': twRadio,
    })
    

    相关文章

      网友评论

          本文标题:Vue Component ref绑定问题

          本文链接:https://www.haomeiwen.com/subject/wfutzrtx.html