调度到动作参数序列

问题描述 投票:-1回答:1

例如,我有一个动作调用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));
reactjs redux react-redux dispatch redux-actions
1个回答
1
投票

使用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

© www.soinside.com 2019 - 2024. All rights reserved.