【问题标题】:Is it valid to mutate an array prop in a child component?在子组件中改变数组道具是否有效?
【发布时间】:2022-01-11 19:51:54
【问题描述】:

我注意到当推入一个作为 prop 传递给子组件的数组时,我没有收到通常的“避免直接改变 prop”错误。想了想,这是有道理的,因为数组是一个引用,如果有什么事情导致父级重新渲染,子级将因此正确渲染。

正确的方法仍然是向父级发出并让父级对数组进行操作,还是在子组件中对数组进行操作是完全有效的,因为它是一个引用?

【问题讨论】:

    标签: javascript vue.js


    【解决方案1】:

    根据official docs on props

    请注意,JavaScript 中的对象和数组是通过引用传递的,因此如果 prop 是数组或对象,则在子组件内改变对象或数组本身会影响父状态,Vue 无法对此发出警告。作为一般规则,您应该避免改变任何道具,包括对象和数组,因为这样做会忽略单向数据绑定并可能导致不希望的结果。

    【讨论】:

      猜你喜欢
      • 2019-04-26
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      • 2019-04-20
      • 2011-06-26
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多