今天我为我的同事做了一篇评论,发现他实现了一个让我很感兴趣的函数定义。如果函数调用没有提供参数,他在 react 组件内部使用默认参数值来实现函数。他将一个
他无法给我提供一个好的解释,只是说这在他的实现中有效。
我一直使用“静态”的默认参数值(如
这样写可以吗? 是否可能存在问题的情况?
state
的值用作默认参数。它看起来像这个例子:class CustomComponent extends React.Component {
constructor(props) {
this.state = {
loadedData = [], // array of objects
};
this.filterDates = (fromUtc, toUtc, loadedData = this.state.loadedData) {
// do something with 'loadedData' based on time range 'fromUtc' and 'toUtc'
}
}
}
他无法给我提供一个好的解释,只是说这在他的实现中有效。
我一直使用“静态”的默认参数值(如
[]
,数字等)。 我想知道是否可以使用某种“动态”的默认参数,在state
更改时更改。这样写可以吗? 是否可能存在问题的情况?
this.state.loadedData
,那么这种做法的逻辑在哪里? - Dennis Vashthis.state.loadedData
的逻辑在组件内部,但在不同的函数中。一旦他通过调用filterDates(fromUtc, toUtc)
(没有第三个参数)从state
中过滤数组,第二次调用将使用不同的数组引用,其遵循this.state.loadedData
的格式。(函数参数称为loadedData
可能会令人困惑) - PaulP