logoESLint React
Rules

no-use-form-state

Full Name in eslint-plugin-react-dom

react-dom/no-use-form-state

Full Name in @eslint-react/eslint-plugin

@eslint-react/dom/no-use-form-state

Features

🔄

Presets

  • dom
  • recommended
  • recommended-typescript
  • recommended-type-checked

Description

Replaces usages of useFormState with useActionState.

Examples

Failing

import { useFormState } from "react-dom";
 
async function increment(previousState, formData) {
  return previousState + 1;
}
 
function StatefulForm({}) {
  const [state, formAction] = useFormState(increment, 0);
  return (
    <form>
      {state}
      <button formAction={formAction}>Increment</button>
    </form>
  );
}

Passing

import { useActionState } from "react";
 
async function increment(previousState, formData) {
  return previousState + 1;
}
 
function StatefulForm({}) {
  const [state, formAction] = useActionState(increment, 0);
  return (
    <form>
      {state}
      <button formAction={formAction}>Increment</button>
    </form>
  );
}

Implementation

Further Reading

On this page