单向数据流

我认为单向数据流的好处在于所有的状态改变(mutation)可追溯。举个例子,父组件维护了一个状态,假设子组件可随意更改父组件甚至祖宗组件的状态,那各组件的状态改变就会变得难以追溯,父组件的状态也可能被子组件意外修改而不可察觉。而单向数据流保证了父组件的状态不会被子组件意外修改如果要修改,只能通过在子组件中dispatch一个action来对全局状态修改,全局状态在通过props分发给子组件;又或是调用父组件的方法;又或是发事件,这些操作是肉眼可见且可控的(用函数式来说,保证了组件就是无副作用的纯函数),不至于造成状态总被意外修改而导致难以维护的情况。

你可能感兴趣的