<thanhstudio.dev>

Làm chủ React 19 Server Actions và Optimistic Updates Tự thiết kế

Khám phá cách sử dụng biểu mẫu hành động mới của React 19, useActionState, và useOptimistic hook để tạo chuyển động không trễ phía client.

React 19 mang đến sự hỗ trợ tự nhiên cho Server Actions, giúp việc gửi biểu mẫu và cập nhật dữ liệu trở nên sạch sẽ hơn bao giờ hết.

Hook useActionState Mới

Thay vì sử dụng các cờ tải thủ công và trạng thái lỗi, React 19 giới thiệu useActionState để quản lý các tác vụ và trạng thái chờ:

const [state, formAction, isPending] = useActionState(async (prevState, formData) => {
  const result = await saveMessage(formData.get("message"));
  return result;
}, null);

Tăng cường UX với useOptimistic

Hook useOptimistic cho phép bạn kết xuất kết quả dự kiến ngay lập tức trên máy khách trong khi yêu cầu mạng vẫn đang xử lý:

const [optimisticMessages, addOptimisticMessage] = useOptimistic(
  messages,
  (state, newMessage: string) => [...state, { text: newMessage, sending: true }]
);

Bằng cách kết hợp các tính năng này, bạn có thể xây dựng các ứng dụng web phong phú phản hồi ngay lập tức.