Dan Abramov 在 React Europe 2015 上作了一场令人印象深刻的演示 Hot Reloadingwith Time Travel,之后 Redux迅速成为最受人关注的 Flux 实现之一。Redux 把自己标榜为一个“可预测的状态容器”,其实也是 Flux里面“单向数据流”的思想,只是它充分利用函数式的特性,让整个实现更加优雅纯粹,使用起来也更简单。Redux(oldState) =>
和 Flux 类似,Redux 也是需要注册一个回调函数 store.subscribe(listener) 来获取State 的更新,然后我们要在 listener 里面调用 setState() 来更新 React组件。Redux 官方提供了 react-redux 来简化React 和 Redux 之间的绑定,不再需要像 Flux 那样手动注册/解绑回调函数。接下来看一下是怎么做到的,react-redux 只有两个 API<Provider><Provider>
三个基本原则整个应用只有唯一一个可信数据源,也就是只有一个 StoreState 只能通过触发 Action 来更改State 的更改必须写成纯函数,也就是每次更改总是返回一个新的State,在 Redux 里这种函数称为 ReducerActionsAction 很简单,就是一个单纯的包含 { type, payload } 的对象,type是一个常量用来标示动作类型,payload 是这个动作携带的数据。
关注时代Java