redux-thunk的理解

Posted 我的TURF

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redux-thunk的理解相关的知识,希望对你有一定的参考价值。

问题:1.redux-thunk要解决什么问题?

    要解决异步请求问题,Action发出以后,Reducer立即算出State,这叫做同步;Action发出以后,过一段时间再执行

  Reducer,这就叫做异步。

  2.怎么解决异步?

    ①把Ajax放在Reducer中,Reducer是纯函数,不能进行读写操作

    ②放在Action中,$.get(URL,function(data){

              return data;

              //回调函数返回的是里面这一层的,无法把数据返回出去

            })

redux-thunk的含义:

  ①帮助我们让所有的组件的props存在了dispatch方法,注意这个组件一定要被connect处理后才生效

  ②改造store.dispatch,使得它可以接受函数为参数(正常情况下只能是对象,不是函数) 

  ③同步:Action Creator返回一个Action

   异步:异步的Action Creator不是直接返回Action,而是返回一个携带dispath的函数

  ④点击按钮发出的函数相当于延长了dispatch持续时间,就是说我要dispatch出一个action,但是我不立即发出,因为参数需要

   Ajax获得,此时返回一个携带dispatch的函数,相当于延长了dispatch

  ⑤现在connect中一般不谢第二个参数了,就是说省略掉MapDispatchToProps

以上是关于redux-thunk的理解的主要内容,如果未能解决你的问题,请参考以下文章

异步action和redux-thunk理解

Redux-thunk 异步调用和状态

redux-thunk 的唯一好处是啥?

我应该如何将“redux-thunk”用于异步初始状态? (反应/减少)

redux-sage 简单理解

在 React-redux 和 Redux-Thunk 中从 API 获取数据的问题