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} />
)
}
}
有更多的代码,但我认为这可能是后添加足够
你能发布完整的代码?它看起来像你想'handleToggle:()=>'如果这是一个对象属性。 – elclanrs
这是在类声明中吗?你不能在类中使用箭头函数,因为你只能在类声明中设置方法而不是属性,而且它不会有正确的'this'。 – gcampbell
你应该添加通天预设-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与实验值=真松=假规格=假 –