본문 바로가기

반응형

UX

(3)
[React 19] useFormStatus로 더 똑똑한 폼 UI 만들기 들어가며폼을 다루다 보면 로딩 상태 관리가 늘 골치 아프죠?버튼은 비활성화하고, 스피너는 보여주고... 이런 보일러플레이트 코드에 지치셨다면,React 19의 `useFormStatus`가 여러분의 구원자가 될 거예요! 😊 useFormStatus란? 🤔`useFormStatus`는 React의 Form Action과 함께 사용되는 훅으로, 폼의 제출 상태를 자동으로 추적합니다.더 이상 로딩 상태를 수동으로 관리할 필요가 없어요! 기본 사용법 📝```tsximport { useFormStatus } from 'react-dom'; function SubmitButton() { const { pending, data, method } = useFormStatus(); return ( ..
[React 19] useOptimistic으로 낙관적 UI 구현하기 - 좋아요 버튼 UX 개선하기 들어가며몇 달 전, React Query로 낙관적 UI를 구현하면서 꽤나 고민했던 기억이 있습니다.그런데 React 19에서 소개된 useOptimistic을 보고 "아, 이거였구나!" 하는 깨달음을 얻었어요.오늘은 제가 겪었던 문제를 React 19의 새로운 훅으로 어떻게 더 우아하게 해결할 수 있는지 이야기해보려 합니다! 😊문제 상황: 느린 좋아요 버튼 🐢인스타그램 스타일의 좋아요 기능을 구현하면서 마주쳤던 문제는 다음과 같았어요:서버 응답을 기다리느라 버튼 반응이 느림 (1-2초)연속 클릭 시 처리가 까다로움사용자 경험이 매끄럽지 않음useOptimistic으로 해결하기 ⚡1. 기본 구현function LikeButton({ postId }: { postId: string }) { const ..
[React 19] useTransition으로 더 부드러운 UI 구현하기 들어가며React 애플리케이션을 개발하다 보면 무거운 작업으로 인해 UI가 버벅이는 경험을 해보셨을 거예요.오늘은 이런 문제를 해결할 수 있는 useTransition 훅에 대해 자세히 알아보겠습니다! 😊useTransition이란? 🤔useTransition은 우선순위가 낮은 상태 업데이트를 표시하는 React 훅입니다.이 훅은 두 가지 값을 반환합니다:isPending: 전환이 진행 중인지 여부startTransition: 우선순위가 낮은 업데이트를 시작하는 함수기본 사용법 📝import { useTransition } from 'react';function SearchComponent() { const [isPending, startTransition] = useTransition(); c..