О наследовании классов
Добрый вечер. Странное поведение вижу, не понимаю, как работает наследование.
Код таков: 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, время: 06:18. |