Я начал проект, в котором я использую React JS для переднего конца узла js в backend. Я использовал webpack для сборки JS-файлов. Я использовал babel вместе с другими необходимыми вещами. Когда я использую функции стрелок внутри класса реакции, он дает синтаксическую ошибку. например Ошибка сборки модуля: СинтаксисError: Неожиданный токен. Но я могу использовать функцию Arrow в узле без каких-либо проблем.Невозможно использовать функции Arrow внутри класса реагирующих компонентов
это мой WebPack конфигурационный файл
import path from 'path';
import webpack from 'webpack';
import 'react-hot-loader/patch';
export default{
devtool: 'eval',
entry:[
'react-hot-loader/patch',
'webpack-hot-middleware/client?reload=true',
path.join(__dirname,'client/index.js')],
output:{
path:'/',
publicPath:'/'
},
plugins:[
new webpack.NoErrorsPlugin(),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin()
],
module:{
loaders:[
{
test:/\.js$/,
include:path.join(__dirname,'client'),
loaders: ['react-hot-loader/webpack', 'babel']
},
{
test: /\.jpe?g$|\.gif$|\.svg$|\.png$/i,
loader: 'file-loader?name=[name].[ext]'
}
]
},
resolve:{
extension:['','.js']
}
}
Мой Реагировать файл
class mapSidebar extends React.Component{
constructor(props,context){
super(props,context);
this.state = {
dataSource: []
};
this.handleUpdateInput = this.handleUpdateInput.bind (this);
}
handleUpdateInput = (value) => {
this.setState({
dataSource: [
value,
value + value,
value + value + value,
],
});
};
render(){
return(
<div>
<Paper zDepth={2}>
<div>Hello</div>
<div>
<AutoComplete
hintText="Type anything"
dataSource={this.state.dataSource}
onUpdateInput={this.handleUpdateInput}
/>
</Paper>
</div>
);
}
}
export default mapSidebar;
Как решить эту проблему?
Вы уверены, что ваша сборка запускает код через Babel? – Pointy
Можете ли вы привести пример того, как вы используете функцию стрелок в реакцииJS? – JSNinja
@ Положите, как проверить, работает ли он через babel? – TRomesh