Функция декоратора не работает (неожиданный токен) - PullRequest
0 голосов
/ 09 мая 2018

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

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вам нужен transform-decorators-legacy плагин babel, чтобы этот синтаксис работал.

0 голосов
/ 09 мая 2018

Возможно, ваш .babelrc не добавил плагин декоратора.Попробуйте это: https://babeljs.io/docs/plugins/transform-decorators

...