React - Redux实践

  • Redux 是什么?
Redux是javascript的状态容器,能提供可预测化的状态管理。提出以下两点:
- web应用是一个状态机,视图与状态是一一对应的。
- 所有的状态,保存在一个对象里面。

Redux的状态容器Store存储着所有的状态数据,每个状态都与视图一一对应。一个State对应一个View,State存储在Store中。

View: 操作入口,向Action发出State即将变化的通知。
ActionCreator:接收View发出的通知,生成对应的Action,并将Action分发[dispatch(action)]StoreStore:接收到Action以后将[(prevState, action)]Reducer,通过Reducer计算后将新的状态通知View更新。
Reducer:通过从Store获取的先前State计算获得新的State,回馈给Store

整个流程中,数据的流动是单向的,保证了流程的清晰。

  • 为什么要用Redux?
    由于前端大量无规律的交互和异步操作,使得状态维护不便被掌握,导致对状态失去控制。Redux试图让每个State的变化都是可预测的,统一管理应用中的动作与状态。
{ Provider, createProvider, connectAdvanced, connect } in react-redux
{ MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, matchPath, withRouter } in react-router
{ BrowserRouter, HashRouter, Link, MemoryRouter, NavLink, Prompt, Redirect, Route, Router, StaticRouter, Switch, matchPath, withRouter } in react-router-dom
{ ConnectedRouter, routerMiddleware } in react-router-redux
{ createStore, combineReducers, bindActionCreators, applyMiddleware, compose } in redux
{ historyAPI, push, replace, setState, go, goBack, goForward } in redux-router
{ routerStateReducer, ReduxRouter, reduxReactRouter, isActive, historyAPI, pushState, replaceState, setState, go, goBack, goForward } in redux-react-router
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值