请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

getTodoList里是如何获取到dispatch的

图片描述

请问一下老师,这个getTodoList里是如何获取到dispatch的呢?有点不太明白为什么dispatch(action)里的action能反过来使用dispatch

正在回答 回答被采纳积分+3

3回答

Dell 2020-03-18 23:30:41

这段逻辑实际上会被redux内部消化,你可以理解成这个函数,最终是redux调用的,那它去调用,就有能力把dispatch 传递进来,你就有能力使用dispatch

1 回复 有任何疑惑可以回复我~
  • 老师, 对于为什么在getList能调用到dispatch, 我想请问一下我这样理解有没有问题: 
    1. 因为对于一整个应用来说只能有一个store, 我们把它当成整个的应用的“数据库”.
    2. 而当我们通过redux来给整个应用创建一个store对象的同时, dispatch这个方法更像是被“隐式import”到整个应用中每一个调用到了dispatch方法的文件里面(个人想法)
    3. 而最终dispatch被调用时则是由redux来进行, 从而对store进行数据上更变
    回复 有任何疑惑可以回复我~ 2021-08-22 16:40:15
慕码人7077953 2020-12-02 16:10:00

我个人的理解是这样的

store.dispatch(const getTodoList(()=>{
    return (dispatch)=>{...dispatch()}
    })
)

getTodoList函数是在store.dispatch环境下执行的,所以return后面的函数可以直接获取在函数内的全局函数dispatch()

0 回复 有任何疑惑可以回复我~
  • 这个应该是运用了js的闭包原理吧
    回复 有任何疑惑可以回复我~ 2021-06-27 01:07:05
Slave_Programmer 2020-10-15 22:52:18

我自己個人理解是,

這裏傳入一個方法getTodoList()

相當於裏面被redux的dispatch 内部調用(執行)

getTodolist 方法傳入dispatch方法,因爲被redux内部調用,所以這裏的‘dispatch’會被認作redux内部的dispatch方法


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信