调度到操作参数序列

时间:2018-03-01 08:59:42

标签: reactjs redux react-redux dispatch redux-actions

例如 我有一个动作叫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));

1 个答案:

答案 0 :(得分: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