Skip to content

[Bug]: react/no-object-type-as-default-prop is disabled when using a ref prop #3767

Closed
@JulienR1

Description

@JulienR1

Is there an existing issue for this?

  • I have searched the existing issues and my issue is unique
  • My issue appears in the command-line and not only in the text editor

Description Overview

Brief description

The react/no-object-type-as-default-prop does not run when a component has a ref prop as a second argument.

Show example of your code (as text format), add images/videos/gifs to help explain example

Both of these components should error because an object type is used as a default prop.
However, the second component (with a ref) does not error.

const ErrorIsShown = ({ foo = {} }) => null;
const ErrorIsAbsent = ({ foo = {} }, ref) => null;

image

Link to repro: https://github.com/JulienR1/eslint-react-no-object-type-as-default-prop-repro

What command(s) did you run to reproduce issue?

npm run lint
# OR
eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0
// .eslintrc.cjs
module.exports = {
  root: true,
  env: { browser: true, es2020: true },
  extends: ["plugin:react/recommended"],
  ignorePatterns: ["dist", ".eslintrc.cjs"],
  parserOptions: { ecmaVersion: "latest", sourceType: "module" },
  rules: {
    "react/no-object-type-as-default-prop": "error",
    "react/prop-types": "off",
  },
};

Expected Behavior

Brief description

Components with ref props should also generate errors when using default object type props.

image

eslint-plugin-react version

v7.34.2

eslint version

v8.57.0

node version

v20.12.2

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions