2016-08-01 126 views
2

首先我用一口巴贝尔用箭头功能

编译我的browserify和巴贝尔束browerify造成语法错误

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

这是在类声明中吗?你不能在类中使用箭头函数,因为你只能在类声明中设置方法而不是属性,而且它不会有正确的'this'。 – gcampbell

+0

你应该添加通天预设-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(e)%20%3D%3E%20%7B%0A%20%20%20%20this.setState(%7BshowOptionsModal%3A%20true%7D)%3B% 0A%20%20%7D%0A%7D与实验值=真松=假规格=假 –

回答

3

好吧“阶段1”我能够用箭头功能没有任何问题。

.transform(babelify, {presets: ['es2015', 'stage-1', 'react']})