vue3复制数组后,修改值的问题?

页面
image.png

image.png

image.png

子页面方法改变deadline值
image.png
image.png

为什么用toRaw()复制数组后,在父页面上的数据没有改变,打印的的值确实改变了的。为什么会这样呢?

阅读 609
1 个回答
const userState = toRaw(props.state)
const userState = toRef(props, 'state')

建议你用下面的方式。
toRaw 的官方解释是:

toRaw() 可以返回由 reactive()、readonly()、shallowReactive() 或者 shallowReadonly() 创建的代理对应的原始对象。
这是一个可以用于临时读取而不引起代理访问/跟踪开销,或是写入而不触发更改的特殊方法。不建议保存对原始对象的持久引用,请谨慎使用。

可能toRef 才是你需要的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题