2017-06-13 10 views
-2

私は以下のコードを使用していますが、上記のeslintエラーを受け取りました。 は[eslint] 'isResetProperty' はが私を支援しなさい(/小道具-タイプの反応)小道具の検証に欠けている:私はエラーを解決するにはどうすればよいeslint:小道具の検証(react/prop-types)に 'isResetProperty'がありません

componentWillReceiveProps(nextProps) { 
     if (nextProps.isResetProperty) { 
      this.setState({ empName: defaultEmpName }); 
      this.setState({ empAddress: defaultEmpAddress }); 
      this.props.resetPage(false); 
     } 
     } 
    "devDependencies": { 
    "eslint": "^3.18.0", 
    "eslint-config-airbnb": "^14.1.0", 
    "eslint-plugin-import": "^2.2.0", 
    "eslint-plugin-jsx-a11y": "^4.0.0", 
    "eslint-plugin-react": "^6.10.3", 
} 

答えて

1

isResetPropertyプロパティの型を宣言する必要があります。 About PropTypesAbout this rule

フル例

// index.js 
import { Component } from 'react' 
import PropTypes from 'prop-types' 

export default class Cmp extends Component { 
    static propTypes = { 
    isResetProperty: PropTypes.bool.isRequired, 
    } 

    componentWillReceiveProps(nextProps) { 
    if (nextProps.isResetProperty) { 
     this.setState({ 
     reset: nextProps.isResetProperty, 
     }) 
    } 
    } 

    render() { 
    return null 
    } 
} 

package.json

"scripts": { 
    "lint": "eslint ." 
    }, 
    "devDependencies": { 
    "babel-eslint": "^7.2.3", 
    "eslint": "3", 
    "eslint-config-airbnb": "^15.0.1", 
    "eslint-plugin-import": "^2.3.0", 
    "eslint-plugin-jsx-a11y": "^5.0.3", 
    "eslint-plugin-react": "^7.0.1" 
    }, 
    "dependencies": { 
    "prop-types": "^15.5.10", 
    "react": "^15.5.4" 
    } 

.eslintrc

{ 
    "extends": "airbnb", 
    "parser": "babel-eslint", 
    "rules": { 
    "semi": [2, "never"] 
    } 
} 

>$ yarn run lint

糸走行v0.24.6 $ eslint。 1.32秒で完了しました。

+0

この文句を言わない仕事上のコードでは、我々はnextProps.isResetPropertyを使用しているので、それがthis.props.isResetPropertyように使用されている場合、あなたのコードは動作します。 – jack123

+0

@ jack123実際に試しましたか?私はどのeslintバージョンを持っているのか分かりません。私の魅力のように動作します。 –

+0

私は "eslint"を使用しています: "^ 3.18.0"、 – jack123

-1
import React from 'react'; 
import PropTypes from 'prop-types'; 

class YourComponentName extends React.Component { 

    componentWillReceiveProps(nextProps) { 
    if (nextProps.isResetProperty) { 
     this.setState({ empName: defaultEmpName }); 
     this.setState({ empAddress: defaultEmpAddress }); 
     this.props.resetPage(false); 
    } 
    } 
}; 

YourComponentName.propTypes = { 
    isResetProperty: PropTypes.<type-of-isResetProperty> 
} 
+0

上記のコードではnextProps.isResetPropertyを使用していますので、this.props.isResetPropertyのように使用するとコードが機能するため、動作しません。 – jack123

関連する問題