Skip to content

linter: react/display-name false positive for exported default classes #21632

@RioShopfront

Description

@RioShopfront

What version of Oxlint are you using?

1.6.1

What command did you run?

oxlint

What does your .oxlintrc.json (or oxlint.config.ts) config file look like?

export default defineConfig({
    plugins  : [ "react" ],
    rules: {
        "react/display-name": "error"
    }
})

What happened?

The rule produces false errors for exported, default classes which extend React.Component

The below code produces false errors. There are no current tests cases that cover this case.

export default class Logo extends React.Component<Props> {
    public url = "/imgs/image.png?cache=true";

    public render(): React.ReactNode {
        return (
            <Link to="/" onClick={this.props.onClick} id="logo">
                <img
                    src={CDN(this.url)}
                    height="25"
                />
            </Link>
        );
    }
}

This code is accepted by the rule

class Logo extends React.Component<Props> {
    public url = "/imgs/image.png?cache=true";

    public render(): React.ReactNode {
        return (
            <Link to="/" onClick={this.props.onClick} id="logo">
                <img
                    src={CDN(this.url)}
                    height="25"
                />
            </Link>
        );
    }
}

export default Logo;

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Priority

    None yet

    Effort

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions