调度到动作参数序列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调度到动作参数序列相关的知识,希望对你有一定的参考价值。

例如,我有一个动作调用crazyAction它有三个参数第二个,第三个可以是null但是第一个必须作为休闲;

crazyAction(firstParameter, secondParameter = null, thirdParameter = null){
      return{
         type:    CONSTANTS.WHATEVER,
         payload: {firstParameter, secondParameter, thirdParameter}      
      }
}

当我想发送给它时,我应该按顺序发送参数,比如;

    dispatch( uiActions.navigateToPage(firstParameter, null, thirdParameter));

所以问题是如果我只想发送第三个参数而没有第二个参数,那么中间还有另一个没有空值的选项吗?

像这样,这怎么可能?

dispatch( uiActions.navigateToPage(firstParameter, thirdParameter));
答案

使用Destructuring Assignment,你可以做这样的事情。

缺少的参数将作为空值,这将帮助您不按顺序传递参数。

    function crazyAction({ firstParameter, secondParameter, thirdParameter}){

      console.log(firstParameter, secondParameter, thirdParameter);
      //output "first"    null    "3"
    }

定义包含传递的属性和调用函数的对象。

const objParams = {
  firstParameter : "first", thirdParameter:"3"
};
crazyAction(objParams); 

工作codesandbox demo

以上是关于调度到动作参数序列的主要内容,如果未能解决你的问题,请参考以下文章

车间调度的状态动作奖励函数设置汇总

如何一个接一个地调度两个异步 redux 动作?

怎么通过程序控制unity3d人物动作

无法将其他flas动画片段访问到动作脚本3

调度动作以响应另一个动作

Redux&React路由器:梳理调度和导航(history.push)