我正在使用React构建一个应用程序,在其中一个样板项目中找到了一行代码。
(state = {}) => state
有人能解释一下上面那行代码是什么意思吗?这是 JavaScript ES6 标准。
我正在使用React构建一个应用程序,在其中一个样板项目中找到了一行代码。
(state = {}) => state
这是一个返回其输入的箭头函数。如果输入未定义,它将成为默认值 {}。
您可能已经在使用redux的“connect”时看到它,作为将存储状态映射到连接组件所使用的投影的函数。如果没有可用的状态,则提供空对象。
这是一个带有默认参数的箭头函数,如果没有提供输入,则返回其输入或空对象。它类似于这个 es-5 函数:
其中 arrow function 和 default parameter 需要翻译。function(){
var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
return state;
}
undefined
时,它不起作用。 - Bergiundefined
传递给默认参数,那么默认值仍然会覆盖它吗?这似乎不太直观。 - Patrick Roberts您可能更熟悉这种表示方法:
function(state) {
if (!state) state = {}; // state defaults to {}
return state;
}
function(state = {}) { ... }
是默认值的简写(state
默认为 {}
),而 (a) => b
则是 function(a) { return b }
的简写。将它们组合起来,你就得到了 (state = {}) => state
。