我在 React 中使用粗箭头函数时遇到了一些问题。如果函数不是匿名的,它会抱怨语法并且不会编译。
这:
handleItemClick = (e, { name }) => this.setState({ activeItem: name });
给我:
BabelLoaderError: SyntaxError: Unexpected token (20:20)
它指向等号(handleItemClick'=')。
然而,这工作得很好:
onClick={ (arg) => {//Do something} };
我的 webpack 配置有问题,还是我缺少的其他东西?感谢您的任何提示。
module.exports = {
entry: PATHS.app_path,
output:{
path: PATHS.build,
filename: 'index.js'
},
devServer:{
inline: true,
port: 3333,
contentBase: PATHS.build,
publicBase: PATHS.build,
historyApiFallback: true
},
resolve: {
root: path.resolve('./public'),
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
},
{
test: /\.css$/,
loader: 'style-loader'
},
{
test: /\.css$/,
loader: 'css-loader',
query: {
modules: true,
localIdentName: '[local]'
//localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
{ test: /\.(png|woff|woff2|eot|ttf|jpg)$/, loader: 'url-loader?limit=100000' },
{
test: /.*\.svg$/,
loaders: [
'file-loader',
'svgo-loader?' + svgoConfig,
]
}
]
}
};