to get useFormStatus to work should i use canary versio or what kind versio from react, because
i get
import useFormStatus
There is no indication in docs that i should use canary or what version from react.
allthought i'm using
"@types/react": "18.2.19",
"@types/react-dom": "^18.2.7",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"next": "^14.0.0",
seems that using experimental_useFormStatus as useFormStatus removes the error.
But i get this error in my browser:
Unhandled Runtime Error
TypeError: react_dom__WEBPACK_IMPORTED_MODULE_2__.experimental_useFormStatus is not a function
Component looks like this:
import { deleteWorkExperience } from '@/app/lib/actions';
import { TrashIcon } from 'lucide-react';
import { experimental_useFormStatus as useFormStatus } from 'react-dom';
function DeleteButton() {
const { pending } = useFormStatus();
return (
<button
type="button"
className="rounded-md border p-2 hover:bg-gray-100"
disabled={pending}
>
<span className="sr-only">Delete</span>
<TrashIcon className="w-4" />
</button>
);
}
export function DeleteExperienceButton({
id,
name,
}: {
id: string;
name: string;
}) {
console.log('id', id);
console.log('name', name);
const deleteExperience = async (id: string) => {
const response = await deleteWorkExperience.bind(null, id);
console.log('value', response);
};
return (
<form action={deleteExperience(id)}>
<DeleteButton />
<span className="sr-only">Delete</span>
</form>
);
}