箭头功能中的可选参数

Mr.*_*ysl 4 javascript ecmascript-6

我有一个像

handleSelect = (k0, k1, v) => {
    ...
    }
};
Run Code Online (Sandbox Code Playgroud)

我想在k1这里选择.有好办法吗?

Est*_*ask 7

没有好办法.这不是React或箭头特有的.

中间带可选参数的可变参数函数需要解析参数:

handleSelect = (...args) => {
  let k0, k1, v;
  if (args.length > 2) {
    [k0, k1, v0] = args;
  } else {
    [k0, v0] = args;
    k1 = 'default';
  }
  ...
};
Run Code Online (Sandbox Code Playgroud)

这可能会导致API模糊.具有多个参数的函数的更好配方(其中一些参数可以是可选的)是接受带有选项的对象.函数不依赖于参数顺序:

handleSelect = ({ k0, k1 = 'default', v }) => {
  ...
};
Run Code Online (Sandbox Code Playgroud)