TGViewer
Антон Непша.js Антон Непша.js @nepshajs · 2.91K subscribers
Post #53 1.01K
Новый hook в React — useActionState

На самом деле не совсем новый, а, скорее, слегка изменённый useFormState. Да и пулл-реквест этим новым хуком ещё не влит и вроде как радоваться ещё рановато. Но я всё равно расскажу о том, что этот новый хук нам предлагает))

Что нового в useActionState?

Самое главное отличие от useFormState в том, что новый хук будет доступен для импорта напрямую из react, а не из react-dom. А это означает, что его можно будет использовать и в React Native!

Второе нововведение — добавлен дополнительный параметр isPending. Это просто удобно — отдельная переменная, которая покажет, что действие всё ещё выполняется.

Ну и третье изменение — переименование useFormState в useActionState. Зачем понадобилось переименовать хук? Да просто хук useFormState не обязательно использовать только для форм. Его можно использовать везде. Пример ниже как раз это и демонстрирует:

import { useActionState, useRef } from "react";

function Form({ someAction }) {
const ref = useRef(null);
const [errorMessage, action, isPending] = useActionState(someAction);

async function handleSubmit() {
await action({ email: ref.current.value });
}

return (
<div>
<input ref={ref} type="email" name="email" disabled={isPending} />
<button onClick={handleSubmit} disabled={isPending}>
Submit
</button>
{errorMessage && <p>{errorMessage}</p>}
</div>
);
}

Выглядит вроде несложно: мы берём someAction и оборачиваем его в хук useActionState. Из вызова этого хука мы получаем errorMessage, само событие action, которое мы будем вызывать, и состояние isPending. Вроде всё)) Можете даже сравнить этот пример из пулл-реквеста с документацией по useFormState.

P.S. Ссылка на пулл-реквест содержит упоминание запрещенной на территории РФ экстремистской организации.
  • 👍 4
  • ⚡ 2
  • ❤‍🔥 1
More from @nepshajs
  1. Oct 2, 2026MCP Apps: поиск предметов World of Warcraft Просто хотел поделиться своим прикладным кейсо…
  2. Sep 30, 2026👨‍💻 Фронтенд с AI: что можно делегировать агентам 5 октября, стартует конференция Podlod…
  3. Jul 30, 2026Моё хобби — менять названия полей в тулах и смотреть, как это влияет на качество заполнени…
  4. Jul 20, 2026Расширил свой недавний доклад про работу с GigaChat API и расскажу его 25 июля на Технохаб…
  5. Jul 17, 2026Никогда ещё не уходил с митапа под таким сильным впечатлением, как вчера после JS x AI con…
  6. Jul 15, 2026Агентские фреймворки больше не нужны Мне стали часто попадаться видео автора Jake Van Clie…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →