私はReact JSをバックエンドのノードjsのフロントエンドに使用するプロジェクトを開始しました。 JSファイルをバンドルするためにwebpackを使用しました。私は他の必要なものと一緒にバベルを使いました。私が反応クラスの中で矢関数を使用するとき、構文エラーが発生します。 モジュールのビルドに失敗しました:SyntaxError:予期しないトークン。しかし、私は問題なしでノードで矢印機能を使用することができます。反応コンポーネントクラス内で矢印関数を使用できません
これが私の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
reactJSの矢印機能の使い方の例を挙げることはできますか? – JSNinja
@Pointyどのようにバーベルを介して実行されているかどうかを確認しますか? – TRomesh