Сегодня я сделал обзор для своего коллеги и нашел определение функции, которое меня заинтересовало. Он реализовал функцию внутри реагирующего компонента со значениями параметров по умолчанию, если вызов функции не снабжен аргументом. Он использовал значение 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
.
Можно ли так написать? Может ли быть проблемный случай?