대왕판다
ESTP 하고재비로 살아가기
대왕판다
전체 방문자
오늘
어제
  • 분류 전체보기
    • 일상
      • 먹고재비
      • 생각대로
    • 개발
      • html css
      • 자바
      • 자바스크립트
      • 파이썬
      • 알고리즘
      • 북TIL
      • 네트워크
      • 객체지향개발

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 코딩
  • 브루트포스
  • 노개북
  • 타입스크립트
  • 클론코딩
  • html
  • 노마드코더
  • 양산
  • 맛집
  • 마이바티스
  • 리액트
  • 상길북
  • 파이썬
  • 챌린지
  • 알고리즘
  • 양산맛집
  • 자바스크립트
  • css
  • 자바
  • 백준

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
대왕판다

ESTP 하고재비로 살아가기

개발/자바스크립트

[리액트] React-hook-form

2022. 1. 30. 10:11

리액트에 내장된 hook만으로 컴포넌트 속 form을 검증하기 위해서는

  const [toDo, setToDo] = useState("");
  const [toDoError, setToDoError] = useState("");
  const onChage = (event: React.FormEvent<HTMLInputElement>) => {
    const {
      currentTarget: { value },
    } = event;
    setToDoError("");
    setToDo(value);
  };
  const onSubmit = (event: React.FormEvent<HTMLFormElement>) => {
    event.preventDefault();
    if (toDo.length < 10) {
      return setToDoError("To Do Should Be Longer");
    }
    console.log("Submit");
  };
  return (
    <div>
      <form onSubmit={onSubmit}>
        <input onChange={onChage} value={toDo} placeholder="Write a to do" />
        <button>Add</button>
        {toDoError !== "" ? toDoError : null}
      </form>
    </div>
  );

useState와 function을 각각의 에러, 메세지마다 따로 정의해줘야 한다. 매우 길고 번거로움.

 

 

-

react-hook-form을 사용한다면 useForm 하나로 data를 array에 스프레드하거나 검증하는 등 많은것을 해결할 수 있다.

 const {
    register,
    handleSubmit,
    formState: { errors },
    setError,
 } = useForm<IFom>({
    defaultValues: {
      email: "@naver.com",
   },
 });

form과 input이 많아질수록 유용할듯

 

https://react-hook-form.com/api/useform

'개발 > 자바스크립트' 카테고리의 다른 글

[네스트js] 컨트롤러, 프로바이더, 모듈 + validation  (0) 2022.03.17
[리액트]react-beautiful-dnd  (0) 2022.02.14
[리액트] Recoil - state management  (0) 2022.01.19
[타입스크립트] 타입스크립트 기본개념 + 병합연산자  (0) 2022.01.11
[리액트] - styled component  (0) 2022.01.09
    '개발/자바스크립트' 카테고리의 다른 글
    • [네스트js] 컨트롤러, 프로바이더, 모듈 + validation
    • [리액트]react-beautiful-dnd
    • [리액트] Recoil - state management
    • [타입스크립트] 타입스크립트 기본개념 + 병합연산자
    대왕판다
    대왕판다
    let's learn and roll!

    티스토리툴바