Rules
no-useless-forward-ref
Full Name in eslint-plugin-react-x
react-x/no-useless-forward-refFull Name in @eslint-react/eslint-plugin
@eslint-react/no-useless-forward-refPresets
- x
- recommended
- recommended-typescript
- recommended-type-checked
Description
Disallow useless forwardRef calls on components that don't use refs.
This rule enforces that:
- Components using forwardRefmust declare arefparameter
- Components not using refshould not be wrapped withforwardRef
Examples
Failing
import React from "react";
const MyComponent = React.forwardRef((props) => {
  //                                  ^^^^^
  //                                   - 'forwardRef' wrapper is useless without 'ref' parameter.
  return <button />;
});Passing
import React from "react";
const MyComponent = React.forwardRef<HTMLButtonElement>((props, ref) => {
  return <button ref={ref} />;
});Implementation
Further Reading
See Also
- no-forward-ref
 Replaces usages of- forwardRefwith passing- refas a prop.