eslint :'isResetProperty' 在道具验证中丢失 (react/prop-types)
eslint :'isResetProperty' is missing in props validation (react/prop-types)
我使用了以下代码,但出现了上述 eslint 错误。
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",
}
如何解决错误:[eslint] 'isResetProperty' 在道具验证中丢失 (react/prop-types)。请帮助我。
您需要为 isResetProperty
属性 声明类型。 About PropTypes. About 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
yarn run v0.24.6
$ eslint .
Done in 1.32s.
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>
}
我使用了以下代码,但出现了上述 eslint 错误。
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",
}
如何解决错误:[eslint] 'isResetProperty' 在道具验证中丢失 (react/prop-types)。请帮助我。
您需要为 isResetProperty
属性 声明类型。 About PropTypes. About 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
yarn run v0.24.6 $ eslint . Done in 1.32s.
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>
}