React Redux 相关知识点

注意点1: Action 

本质上是 JavaScript 普通对象

 

注意点2: Reducers

指定了应用状态的变化如何响应 actions 并发送到 store 的,

记住 actions 只是描述了有事情发生了这一事实,并没有描述应用如何更新 state。

 

注意点3: Store 

就是把它们联系到一起的对象。Store 有以下职责:

维持应用的 state;

  1. 提供 getState() 方法获取 state;
  2. 提供 dispatch(action) 方法更新 state;
  3. 通过 subscribe(listener) 注册监听器;
  4. 通过 subscribe(listener) 返回的函数注销监听器。
     

注意点4:

异步 action 创建函数

最后,如何把 之前定义 的同步 action 创建函数和网络请求结合起来呢?标准的做法是使用 Redux Thunk 中间件。要引入 redux-thunk 这个专门的库才能使用。我们 后面 会介绍 middleware 大体上是如何工作的;目前,你只需要知道一个要点:通过使用指定的 middleware,action 创建函数除了返回 action 对象外还可以返回函数。这时,这个 action 创建函数就成为了 thunk。

 

注意点5:

当 action 创建函数返回函数时,这个函数会被 Redux Thunk middleware 执行。这个函数并不需要保持纯净;它还可以带有副作用,包括执行异步 API 请求。这个函数还可以 dispatch action,就像 dispatch 前面定义的同步 action 一样。

我们仍可以在 actions.js 里定义这些特殊的 thunk action 创建函数。

 

注意点6:

<Provider store> 使组件层级中的 connect() 方法都能够获得 Redux store。

正常情况下,你的根组件应该嵌套在 <Provider> 中才能使用 connect() 方法。

 

注意点7:

从组件的角度看,以下几种情况可以使用redux:

  1. 某个组件的状态,需要共享
  2. 某个状态需要在任何地方都可以拿到
  3. 一个组件需要改变全局状态
  4. 一个组件需要改变另一个组件的状态
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章