2016-08-01 13 views
2

Прежде всего я использую глотокстолпотворения с browerify вызывает синтаксическую ошибку со стрелками функцией

Компиляцию узелка с browserify и Вавилонского

var bundler = browserify(filepath, args) 
    .plugin(watchify, {ignoreWatch: ['**/node_modules/**', '**/bower_components/**']}) 
    .transform(babelify, {presets: ['es2015', 'react']}) 

это то, что я получаю, когда я пытаюсь запустить команду

SyntaxError: browser/components/table.js: Unexpected token (50:14) 
    48 | } 
    49 | 
> 50 | handleToggle =() => this.setState({ drawer: !this.state.drawer }) 
    |    ^
    51 | 
    52 | status(entry) { 
    53 |  if (entry.status === undefined) { 

Все, кроме функций стрелок, кажется, работает отлично, и я не могу понять, что я делаю неправильно здесь.

export default class TableHandler extends Component { 
constructor(props) { 
    super(props) 
    this.state = {drawer: true} 
} 
handleToggle =() => this.setState({ drawer: !this.state.drawer }) 
render(){ 
    return(
    <Drawer docked={false} width={300} open={this.state.drawer} /> 
) 
} 
} 

есть больше кода, но я думал, что это может быть достаточно

+0

Можете ли вы опубликовать полный код? Похоже, вы хотите 'handleToggle:() =>', если это свойство объекта. – elclanrs

+0

Это внутри декларации класса? Вы не можете использовать функции стрелок в классах, так как вы можете устанавливать только методы, а не свойства, в объявления классов, и в любом случае у него не было бы права «это». – gcampbell

+0

вы должны добавить babel-preset-stage-0, проверить https://babeljs.io/repl/#?evaluate=true&lineWrap=false&presets=es2015%2Creact%2Cstage-0&code=class%20PostInfo%20extends%20React.Component%20 % 7B% 0A% 09handleOptionsButtonClick% 20% 3D% 20 (е)% 20% 3D% 3E% 20% 7B% 0A% 20% 20% 20% 20this.setState (% 7BshowOptionsModal% 3A% 20true% 7D)% 3B% 0A% 20% 20% 7D% 0A% 7D & experimental = true & loose = false & spec = false –

ответ

3

Хорошо после добавления «этап-1» Я был в состоянии использовать функции стрелок без каких-либо проблем.

.transform(babelify, {presets: ['es2015', 'stage-1', 'react']}) 
Смежные вопросы