Reputation: 1996
On line 4 of the following code, ESLint is giving me a parsing error saying:
Unexpected token =
I'm wondering why this is the case? The code runs properly. What am I doing wrong?
import { Component, PropTypes } from 'react';
export default class MainApp extends Component {
static propTypes = {
children: PropTypes.any.isRequired
}
componentWillMount() {
require('./styles/main.styl');
}
render() {
return (
<div>
{this.props.children}
</div>
);
}
}
Upvotes: 14
Views: 7683
Reputation: 15075
I was able to fix this by:
$ npm i --save-dev babel-eslint
OR
$ yarn add babel-eslint --dev
Just add "parser": "babel-eslint",
to your .eslintrc file.
Sample .eslintrc to use babel-eslint
and airbnb's configuration with some custom rules:
{
"parser": "babel-eslint",
"extends": "airbnb",
"rules": {
"arrow-body-style": "off",
"no-console": "off",
"no-continue": "off"
}
}
Upvotes: 19
Reputation: 13598
You cannot have properties inside classes, you can only have methods.
Reference: http://www.2ality.com/2015/02/es6-classes-final.html#inside_the_body_of_a_class_definition
Upvotes: 7