装饰器功能不起作用(意外标记)

Decorator feature not working (unexpected token)

刚刚尝试在 React 中使用装饰器:

import React from 'react';
import Fade from './Transitions/Fade'
import withVisible from './withVisible'

@withVisible()
const App = props =>
    <Fade visible={props.visible} duration={500}>
        Hello
    </Fade>

export default App

如果我使用通用方式 ( withVisible()(App) ) 那么它工作正常。 (我的猜测是 NodeJS 无法使用 @ 编译我的代码)[语法错误:意外的标记 (@)]

import React from 'react'

const withVisible = () => Component =>
    class WithVisible extends React.Component {
        state = {
            visible: true
        }
        render() {
            return (
                <Component visible={this.state.visible} {...this.props}/>
            )
        }
    }

export default withVisible

可能是你的.babelrc 没有添加装饰器插件。 试试这个:https://babeljs.io/docs/plugins/transform-decorators

您需要 transform-decorators-legacy babel 插件才能使此语法正常工作。