Rules
prefer-destructuring-assignment
Enforces destructuring assignment for component props and context.
Full Name in eslint-plugin-react-x
react-x/prefer-destructuring-assignmentFull Name in @eslint-react/eslint-plugin
@eslint-react/prefer-destructuring-assignmentPresets
strict
strict-typescript
strict-type-checked
Rule Details
Destructuring assignment makes it immediately clear which props a component uses. It also encourages better code organization and makes components easier to read and maintain.
Common Violations
Invalid
interface MyComponentProps {
items: string[];
}
function MyComponent(props: MyComponentProps) {
const items = props.items;
// ^^^ Use destructuring assignment for component props.
return <div>{items}</div>;
}interface MyComponentProps {
items: string[];
}
function MyComponent(props: MyComponentProps) {
return <div>{props.items}</div>;
// ^^^ Use destructuring assignment for component props.
}Valid
interface MyComponentProps {
items: string[];
}
function MyComponent(props: MyComponentProps) {
const { items } = props;
return <div>{items}</div>;
}interface MyComponentProps {
items: string[];
}
function MyComponent({ items }: MyComponentProps) {
return <div>{items}</div>;
}interface MyComponentProps {
items: string[];
}
function MyComponent({ items, ...rest }: MyComponentProps) {
return <div {...rest}>{items}</div>;
}Resources
Further Reading
See Also
react-x/no-unused-props
Warns about component props that are defined but never used.