मैं अपने प्रतिक्रिया कोड के भीतर कुछ तीर कार्यों को चलाने का प्रयास कर रहा हूं, लेकिन एक पठनीय प्रारूप में कोड बनाने के लिए बेबेल लोडर जोड़ने के बावजूद, मुझे अपने तीर कार्यों के = हिस्से में एक त्रुटि प्राप्त हो रही है।

export default class CommentForm extends React.Component {
    constructor(props){
        super(props);
        ...
        this.state = {
            value: '',
            flash: '',
            suggestions: [],
        };

        this.onChange = this.onChange.bind(this);
        this.focus = this.focus.bind(this);
    }
    ...
    onChange = (editorState) => {
        this.setState({
            suggestions: ['test']
        });
    }
    ...
}

त्रुटि:

ERROR in ./public/components/app/activity-feed/feed/VerticalTimeline/CommentComponents/CommentForm.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: Unexpected token (150:13)

webpack.config.js:

module.exports = {
    mode: 'development',
    entry: "./public/index.js",
    output: {
        path: __dirname + "/dist",
        filename: "bundle.js"
    },
    module: {
        rules: [
            {   
                test: /\.js$/, 
                exclude: /node_modules/, 
                loader: "babel-loader"
            },
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader'],
            }
        ]
    },
};

package.json:

  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.2",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    ....
  }
0
cphill 31 जिंदा 2019, 04:37

1 उत्तर

सबसे बढ़िया उत्तर

आप समान चिह्न का उपयोग करके वर्ग गुणों को परिभाषित करने का प्रयास कर रहे हैं। यह अभी भी एक प्रस्ताव है इसलिए यह बेबेल का उपयोग करके लीक से हटकर काम नहीं करेगा। आपको जो चाहिए वह एक प्लगइन है।

npm install --save-dev @babel/plugin-proposal-class-properties

//.babelrc
{
  "plugins": ["@babel/plugin-proposal-class-properties"]
}

इस प्रस्ताव की एक अच्छी विशेषता यह है कि यह बाध्य कार्य बनाता है। तो अब कंस्ट्रक्टर में .bind का उपयोग करने की कोई आवश्यकता नहीं है! आप इसके बारे में यहां अधिक पढ़ सकते हैं।

2
Alex Michailidis 31 जिंदा 2019, 14:36