<aside> 💡

useActionState Hook은 현재 React의 Canary 채널과 실험적인 채널에서만 사용할 수 있습니다. 또한 useActionState의 모든 이점을 얻으려면 React 서버 컴포넌트를 지원하는 프레임워크를 사용해야 합니다.

</aside>

import { useFormState } from “react-dom”

const [state, formAction, isPending] = useActionState(action, initialState, permalink?);

: formAction의 결과를 기반으로 state를 업데이트할 수 있도록 제공하는 Hook

최상위 레벨에서 useActionState를 호출하면 폼이 마지막으로 제출된 시점에 액션이 반환한 값에 접근 가능

import { useActionState } from "react";

async function increment(**previousState**, formData) {
  return previousState + 1;
}

function StatefulForm({}) {
  **const [state, formAction,isPending] = useActionState(increment, 0);**
  return (
	  <>
	    <form>
	      {state}
	      <button formAction={formAction}>Increment</button>
	    </form>
	    {isPending ? "Loading..." : message}
	  </>
  )
}

parameters

returns

Docs