О наследовании классов
Добрый вечер. Странное поведение вижу, не понимаю, как работает наследование.
Код таков:
class FieldMultiSelect extends FilterFieldBase {
// некоторый код.
// есть также и другие классы, наследованные от FilterFieldBase
}
FieldMultiSelect.propTypes = Object.assign(FieldMultiSelect.propTypes, {
variants: React.PropTypes.object.isRequired
})
При этом у всех классов, унаследованных от FilterFieldBase, появилось свойство propTypes.variants: React.PropTypes.object.isRequired. Мне казалось, что такого быть не должно. Что я неправильно понимаю? |
У унаследованных класов уже было свойство propTypes на данный момент?
|
Интересное уточнение насчёт данного момента.
Не знаю. Скорее нет. Как узнать точно? В базовом классе свойство назначается так же:
class FilterFieldBase extends React.Component {
// всякие методы
}
FilterFieldBase.propTypes = {
slug: React.PropTypes.string.isRequired,
label: React.PropTypes.string,
value: React.PropTypes.string
}
В других унаследованных нет ничего такого, только используется свойство базового класса. |
| Часовой пояс GMT +3, время: 01:34. |