要说Redux,我们先得来讨论一下只用React会造成什么问题?
React
React 更新视图的方法是更新组件的state之后, 从而重新 render 组件的 dom。这样的方式可以把子组件重新 render。然而子组件的state 无论怎么更新,都不会影响到父组建的state,所以在React里面, 无法做到向上传递值,组件是不能修改父组件的state的。
Redux
而Redux 的设计是可以解决这个问题的。
Redux 将所有 state 存放在一个 根 state 里面,这个state 存储了整个页面的状态。所有的React 组件需要的值都从这里去取,然后需要更新的时候,则通过dispatch 一个 action,用这个action来更新 Redux 的 state。 这样的话,可以实现子组件重新 render 父组建。
Redux-observable
至于 Redux-observable
官网的简介如下
基于 RxJS 5 的 Redux 中间件 。 通过组合和取消异步动作去创建副作用。
RxJS 5-based middleware for Redux. Compose and cancel async actions to create side effects and more.
Epic 是 redux-observable 的核心原语。
它是一个函数,接收 actions 流作为参数并且返回 actions 流。 Actions 入, actions 出.
image.png
网友评论