这是从table example从阵营工具箱(可以使用标签)这个类声明中使用的Javascript的形式是什么?
class TableTest extends React.Component {
state = { selected: [], source: users };
handleSelect = (selected) => {
this.setState({selected});
};
render() {
return (
<Table
model={UserModel}
onSelect={this.handleSelect}
selectable
multiSelectable
selected={this.state.selected}
source={this.state.source}
/>
);
}
}
这不会的WebPack /巴贝尔编译我,但下面的“正确”的JavaScript并。这是JSX符号和一个标志,我没有像我想的那样对JSX进行转译?
class TableTest extends React.Component {
constructor() {
super();
this.state = { selected: [], source: users };
this.handleSelect = (selected) => {
this.setState({selected});
};
}
render() {
return (
<Table
model={UserModel}
onSelect={this.handleSelect}
selectable
multiSelectable
selected={this.state.selected}
source={this.state.source} />
);
}
}
的WebPack /通天扼流圈:
ERROR in ./src/client/app/app.jsx
Module build failed: SyntaxError: Unexpected token (21:8)
19 |
20 | class TableTest extends React.Component {
> 21 | state = { selected: [], source: users };
感谢。我需要安装一个舞台预设(阶段0似乎标准,但我不知道为什么,我认为这是危险的),并将其添加到.babelrc。 –
@bp .:舞台预设对应于[提出新的JS语言特性的过程中的不同阶段](https://github.com/tc39/proposals)。第0阶段是全新的想法,第4阶段的功能肯定会包含在下一个JavaScript版本中。很显然,很多早期的提案会被抛弃或拒绝,所以这是一种折衷 - 如果你处于第0阶段的预设,你会得到*所有的东西*,但有可能最终导致某些功能非标准的将来。 –