如何解决无法理解返回另一个功能的双箭头功能
我一直在做React课程,但我无法正确理解双箭头功能。有人可以解释一下这段代码吗
export const fetchDishes = () => (dispatch) => {
dispatch(dishesLoading(true));
setTimeout(() => {
dispatch(addDishes(DISHES));
},2000);
}
到目前为止,我只了解fetchDishes是一个不带参数的函数,但返回另一个名为dispatch的函数,而dispatch函数调用自身(派发一个动作)。
我正在寻找详细的解释,如果您也可以在反应方面进行一些解释,则值得奖励
解决方法
到目前为止,我所了解的只是fetchDishes是一个 不带参数但返回另一个函数
至此,您是对的,但后来它不返回名为 dispatch 的函数,而是采用名为 dispatch 的参数,这是一个回调(或在Reactjs调度程序或其他命令中) ),然后在开始时和2秒后用这2个值调用此回调。
@installed
,
这是在Redux(例如redux-thunk或redux-saga)中使用中间件的示例。它在调度动作和到达减速器之间提供了第三方扩展点,这意味着它在动作和减速器之间添加了保护层,可用于调用异步API并在手,路由,崩溃之前检查错误。报告等。
您可以详细了解here和stackoverflow too.上的主题
,使用经典的JS函数,可以像这样重写代码:
export const fetchDishes = function() {
return function(dispatch) {
dispatch(dishesLoading(true));
setTimeout(() => {
dispatch(addDishes(DISHES));
},2000);
}
}
因此,函数fetchDishes
返回函数,其参数为函数类型dispatch
。
老实说,如果第一个函数没有任何参数(我可以只导出fetchDishes
返回的函数),我不理解这种嵌套有什么用。要了解双箭头功能的用途,请阅读What do multiple arrow functions mean in javascript?。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。