Декоратор не может получить имя класса из ниоткуда. Там нет места, где он может получить его при оценке минимизированного кода. Исходный код будет перенесен в производство к чему-то вроде:
let b = a(class b extends c {...})
Где NamedComponent
декоратор становится a
, а Component
класс становится b
.
Это возможно, но только если декоратор явно указывает имя в виде строки:
@NamedComponent('Component')
class Component extends React.Component {
\* ... *\
}
На данный момент это не лучше, чем без декоратора:
class Component extends React.Component {
static displayName = 'Component';
\* ... *\
}