前端知库

为什么 Vue 提倡 props 单向数据流?

让状态归属明确,通过事件表达子组件的修改意图。

参考答案

父组件拥有状态,子组件通过 props 接收数据,通过事件请求父组件更新,使数据流向可追踪。直接修改 props 会让状态来源变得模糊。

对象和数组作为 props 传入时,子组件技术上可能修改其嵌套内容,因为它们共享引用;这不意味着应当这样设计。通常应发出事件,或者让父组件传入明确的操作函数。

组件 v-model 可以把 prop 与更新事件的约定简化,但本质上仍需要清晰的数据所有权。