Javascript 反应问题-@是意外标记
我正在尝试实现react keydown,可以在这里找到:使用以下代码示例:Javascript 反应问题-@是意外标记,javascript,reactjs,webpack,react-redux,Javascript,Reactjs,Webpack,React Redux,我正在尝试实现react keydown,可以在这里找到:使用以下代码示例: 从“React”导入React; 导入keydown,{Keys}来自'react keydown'; 类MethodDecoratorExample扩展React.Component{ 建造师(道具){ 超级(道具); 此.state={ 你好:false }; } @向下键('enter') toggleHello(){ this.setState({hello:!this.state.hello}); } re
从“React”导入React;
导入keydown,{Keys}来自'react keydown';
类MethodDecoratorExample扩展React.Component{
建造师(道具){
超级(道具);
此.state={
你好:false
};
}
@向下键('enter')
toggleHello(){
this.setState({hello:!this.state.hello});
}
render(){
返回(
方法装饰器示例
按enter键切换hello。
{this.state.hello&&
Enter是键代码{Keys.Enter}!
}
然后再次单击框外以查看范围。
);
}
}
我在这里找到了答案:
感谢@cbll提到decorators,因为我不知道这是正确的术语。帮助我搜索解决方案我在这里找到了答案:
感谢@cbll提到decorators,因为我不知道这是正确的术语。帮助我搜索解决方案巴贝尔6不再支持ES装饰器语法,因此您需要安装
巴贝尔插件转换装饰器旧式
插件
安装babel插件转换装饰器
将插件添加到您的.babelrc
或
直接在webpack.config.js中添加加载程序
{
test: /\.jsx?$/,
loader: 'babel',
query: {
cacheDirectory: true,
plugins: ['transform-decorators-legacy' ]
}
}
Babel 6不再支持ES装饰器语法,因此您需要安装Babel插件transform decorators legacy
插件
安装babel插件转换装饰器
将插件添加到您的.babelrc
或
直接在webpack.config.js中添加加载程序
{
test: /\.jsx?$/,
loader: 'babel',
query: {
cacheDirectory: true,
plugins: ['transform-decorators-legacy' ]
}
}
您是否使用webpack或类似工具构建了它?我不确定,但看看他们的package.json,你有decorators等,我认为必须对其进行处理才能在浏览器上运行。@cbll我正在使用webpack-我是否遗漏了一些内容?你是否使用webpack或类似工具构建了它?我不确定,但看看他们的package.json,你有decorators等,我认为必须对其进行处理才能在浏览器上运行。@cbll我正在使用webpack-我是否遗漏了一些东西?
{
test: /\.jsx?$/,
loader: 'babel',
query: {
cacheDirectory: true,
plugins: ['transform-decorators-legacy' ]
}
}