Skip to content

React Redux使用

仲灏2022-07-03约 1 分钟

<div style="display: none;" hidden="true" aria-hidden="true" data-nosnippet>Are you an LLM? You can read better optimized documentation at /pages/56c5a3.md for this page in Markdown format</div>

基本概念

  • store state
  • action
  • reducer

单项数据流

  • dispatch(action)
  • reducer -> newState
  • subscribe 触发通知

react-redux

  • <Provider>
  • connect
  • mapStateToProps mapDispatchToProps

异步action

image-20220703180857065

image-20220703180820475

  • redux-thunk
  • redux-promise
  • redux-saga

中间件

image-20220703181147983

示例

react
import { applyMiddleware, createstore } from ' redux";
import createLogger from redux-Logger';
import thunk from redux-thunk:
const Logger = createLogger();
const store = createStore(
  reducer,
  applyMiddleware(thunk, logger) // 会按顺序执行
)




//自己修改 dispatch,增加 Logger
Let next = store.dispatch;
store.dispatch = function dispatchAndLog (action) {
  console. Log('dispatching', action):
  next (action);
  console. log('next state', store.getState());
}