ES7 装饰器在设置了 "displayName" 的 class 上不起作用
ES7 decorator doesn't work on class with "displayName" set
我正在将 React DnD 添加到我正在构建的应用程序中,并意识到 ES7 装饰器无法使用以下语法工作(据我所知):
@DragDropContext(HTML5Backend)
export class App extends React.Component {
...
}
App.displayName = 'My App'
然而,如果我删除 App.displayName
行,一切正常。为什么?
如何设置显示名称属性?
由于您已经在使用 ES7 功能,因此可以使用 ES7 class properties。这些在第 0 阶段。
@DragDropContext(HTML5Backend)
export class App extends React.Component {
static displayName = 'My App';
//or just
//displayName = 'My App';
}
如果您使用的是 babel,则需要使用
启用这些功能
babel --stage 0
或
babel --optional es7.classProperties
我正在将 React DnD 添加到我正在构建的应用程序中,并意识到 ES7 装饰器无法使用以下语法工作(据我所知):
@DragDropContext(HTML5Backend)
export class App extends React.Component {
...
}
App.displayName = 'My App'
然而,如果我删除 App.displayName
行,一切正常。为什么?
如何设置显示名称属性?
由于您已经在使用 ES7 功能,因此可以使用 ES7 class properties。这些在第 0 阶段。
@DragDropContext(HTML5Backend)
export class App extends React.Component {
static displayName = 'My App';
//or just
//displayName = 'My App';
}
如果您使用的是 babel,则需要使用
启用这些功能babel --stage 0
或
babel --optional es7.classProperties