React: detect unnecessary effects with ESLint
Repository

This ESLint plugin flags useEffect patterns that unnecessarily complicate React code, pairing each anti-pattern with a specific alternative and a link to the documentation. It covers derived state, chained state updates, and effects used as event handlers, among other cases.
Its analysis considers state, props, context, refs, and dependencies to assess when an effect runs. It offers recommended and strict configurations, and also works with Oxlint.
