试图在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
答案 0 :(得分:0)
可能你的.babelrc没有添加装饰器插件。 试试这个:https://babeljs.io/docs/plugins/transform-decorators
答案 1 :(得分:0)
您需要transform-decorators-legacy babel插件才能使此语法有效。