Is there an existing issue for this?
Description Overview
When the prev state parameter (second parameter) of getDerivedStateFromProps is destructured in-place, the rule react/no-unused-state crashes
static getDerivedStateFromProps = ({value, disableAnimation}: ToggleProps, {isControlled, isOn}: ToggleState) => {
here, isControlled and isOn are destructured state properties.
TypeError: Cannot read properties of undefined (reading 'references')
Occurred while linting /Users/ygenin/src/pillar/src/datagrid/implementation/filtering/filterEditors/DateFilterEditor.tsx:57
Rule: "react/no-unused-state"
at PropertyDefinition, ClassProperty (/Users/ygenin/src/pillar/node_modules/eslint-plugin-react/lib/rules/no-unused-state.js:388:34)
Expected Behavior
The eslint rule should handle the code without crashing.
The issue seems to be that the stateArg.name on the line below is undefined whereas it is expected to be 'state' or some other name if destructuring is not used.
const argVar = scope.variables.find((x) => x.name === stateArg.name);
eslint-plugin-react version
7.32.2
eslint version
8.2.0
node version
18.12.1
Is there an existing issue for this?
Description Overview
When the prev state parameter (second parameter) of
getDerivedStateFromPropsis destructured in-place, the rulereact/no-unused-statecrashesstatic getDerivedStateFromProps = ({value, disableAnimation}: ToggleProps, {isControlled, isOn}: ToggleState) => {here,
isControlledandisOnare destructured state properties.Expected Behavior
The eslint rule should handle the code without crashing.
The issue seems to be that the stateArg.name on the line below is undefined whereas it is expected to be 'state' or some other name if destructuring is not used.
eslint-plugin-react version
7.32.2
eslint version
8.2.0
node version
18.12.1