Why is this an issue?

React components often render HTML elements, and developers can pass various props (properties) to these elements. However, React has its own set of supported properties and attributes, and it’s essential to avoid using unknown or invalid properties when working with such elements to prevent unexpected behavior at runtime.

The rule reports any instances where you are using a property or attribute that is not recognized by React or the HTML element you are rendering.

How to fix it

Replace any unknown property or attribute with a known one, or add it to the list of exceptions.

Code examples

Noncompliant code example

class Welcome extends React.Component {
  render() {
    return <div class="hello">Hello, World!</div>; // Noncompliant: 'class' is a reserved keyword in JavaScript
  }
}

Compliant solution

class Welcome extends React.Component {
  render() {
    return <div className="hello">Hello, World!</div>;
  }
}

Noncompliant code example

const Image = <img source={myImage} />; // Noncompliant: The 'img' tag does not recognize any 'source' attribute

Compliant solution

const Image = <img src={myImage} />;

Resources

Documentation