Closed moses-crasman closed 1 month ago
I can indeed reproduce this, even when both snippets define a Props
type, infer typeof props.text, and as MyType
.
ok, so this is happening because the rule is counting props
references, and in the second snippet, there's more than one, so it bails out.
If I comment out that propsRefs.length check, then the autofix fails to account for all of the other references, and that causes broken output.
I think the rule needs to be made smarter, by autofixing everything that references a property of props
, but also not warning when there's any bare references to props
that aren't destructuring it.
Is there an existing issue for this?
Description Overview
Brief description
It appears the
react/destructuring-assignment
rule is not behaving consistently with type definitions.Code example
What is happening? / What is the error?
MyComponent
, linter gives areact/destructuring-assignment
error.MyOtherComponent
linter stays silent.To me this appears as an unexpected inconsistency.
What command(s) did you run to reproduce issue?
Using the code example above;
Expected Behavior
I would expect both components to trigger the linter rule.
eslint-plugin-react version
v7.34.3
eslint version
v8.57.0
node version
v18.20.2