jsx-eslint/eslint-plugin-react

'no-unused-prop-types' breaks when using destructuring in jsx attributes

Open

#2 222 ouverte le 29 mars 2019

Voir sur GitHub
 (6 commentaires) (5 réactions) (0 assignés)JavaScript (8 630 stars) (2 797 forks)batch import
bughelp wanted

Description

I was scratching my head over why no-unused-prop-types didn't trigger at all for some of my components, and after some experimentation it turns out it happens whenever I use destructuring in jsx attributes:

const DumbComponent = props => {
  const someObj = { value: 619 };
  return (
    <SomeOtherComp {...someObj} />
  );
};

DumbComponent.propTypes = {
  unused_prop: PropTypes.string // doesn't trigger
};

but

const DumbComponent = props => {
  const someObj = { value: 619 };
  return (
    <SomeOtherComp value={someObj.value} />
  );
};

DumbComponent.propTypes = {
  unused_prop: PropTypes.string // triggers
};

Guide contributeur