Только что попробовал использовать декораторы в 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