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} />
)
}
}
есть больше кода, но я думал, что это может быть достаточно
Можете ли вы опубликовать полный код? Похоже, вы хотите 'handleToggle:() =>', если это свойство объекта. – elclanrs
Это внутри декларации класса? Вы не можете использовать функции стрелок в классах, так как вы можете устанавливать только методы, а не свойства, в объявления классов, и в любом случае у него не было бы права «это». – gcampbell
вы должны добавить 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 –