redux入门

初识redux

什么是redux

Redux是一个流行的JavaScript框架,为应用程序提供一个可预测的状态容器。在React中,数据在组件中是单向流动的,数据从一个方向父组件流向子组件(通过props),由于这个特征,两个非父子关系的组件(或者称作兄弟组件)之间的通信就比较麻烦。

redux中各对象的说明

store

store是一个数据仓库,一个应用中store是唯一的,它里面封装了state状态,当用户想访问state的时候,只能通过store.getState来取得state对象,而取得的对象是一个store的快照,这样就把store对象保护起来。

action

action,描述了一个更新state的动作,是一个对象,它的属性有:

  • type - 一个简单的字符串常量,例如ADD, UPDATE, DELETE等。
  • payload - 用于更新状态的数据。

其中type属性是必须有的,它指定了某动作和要修改的值:

{type: UPDATE_TITLE_COLOR, payload: 'green'}

actionCreator

如果每次派发动作时都写上长长的action对象不是很方便,而actionCreator就是创建action对象的一个方法,调用这个方法就能返回一个action对象,用于简化代码。

dispatch

dispatch是一个方法,它用于派发一个动作action,这是唯一的一个能够修改state的方法,它内部会调用reducer来调用不同的逻辑基于旧的state来更新出一个新的state。

reducer

reducer是更新state的核心,它里面封装了更新state的逻辑,reducer由外界提供(封装业务逻辑,在createStore时传入),并传入旧state对象和action,将新值更新到旧的state对象上返回。

redux安装:

create-react-app redux-shopping-cart //创建react项目并安装redux

cd redux-shopping-cart
yarn add redux # 或者npm install redux

posted @ 2019-07-08 18:10  二猫子  阅读(243)  评论(0编辑  收藏  举报