乐趣区

关于面试:单向数据流

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

退出移动版