Rules
no-hydrate
Replaces usage of 'ReactDOM.hydrate()' with 'hydrateRoot()'.
Full Name in eslint-plugin-react-dom
react-dom/no-hydrateFull Name in @eslint-react/eslint-plugin
@eslint-react/dom-no-hydrateFeatures
🔄
Presets
dom
recommended
recommended-typescript
recommended-type-checked
strict
strict-typescript
strict-type-checked
Rule Details
ReactDOM.hydrate() is deprecated in React 18. This rule encourages migrating to the new hydrateRoot() API which provides better error handling and concurrent features support.
Common Violations
Invalid
import Component from "Component";
import ReactDOM from "react-dom";
ReactDOM.hydrate(<Component />, document.getElementById("app"));Valid
import Component from "Component";
import ReactDOM from "react-dom";
import { hydrateRoot } from "react-dom/client";
hydrateRoot(document.getElementById("app"), <Component />);Resources
Further Reading
See Also
react-dom/no-render
Replaces usage ofReactDOM.render()withcreateRoot(node).render().