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`.
这是vue3使用component组件时报的一个警告,大致意思就是,将一个组件作为响应式对象进行了处理,这可能导致不必要的性能开销。
markRaw
函数可以用于标记一个对象,告诉Vue不要将其转换为响应式对象。这对于将组件作为数据进行处理时非常有用。
另一种选择是使用shallowRef
来创建一个浅层的响应式引用。与ref
不同,shallowRef
只会对引用本身进行响应式处理,而不会对引用的值进行深层次的观测。这对于将组件作为响应式数据使用时也是一个有效的选择。
解决方法:
currentView.value = row.type === '全局' ? markRaw(GroupDialog) : markRaw(UserRelationList)