본문 바로가기

Typescript

Typescript (5) Forms

Typescript는 코드를 실행하기 전에 에러를 방지해 준다고 알고 있다

그러면 form을 사용할 때는 어떻게 적용이 되는지 한번 알아보자

 

우선 예시 코드를 봐보자

 

예) 내가 input의 onChange value를 console.log() 하고 싶다고 할 때를 예시로 들자

function Square() {
  const onChange = (event) => {};

  return (
    <form>
      <input onChange={onChange} placeholder="Insert Your Name"></input>
      <button>Click Me!</button>
    </form>
  );
}

export default Square;

 

 

이렇게 코드를 짜게 되면 event에서 에러가 발생하는데 이유는 event가 any type이기 때문이다

그러면 어떻게 type을 지정해 주면 될까? 

 

예)

function Square() {
  const onChange = (event: React.FormEvent<HTMLInputElement>) => {
    console.log(event.currentTarget.value);
  };

  return (
    <form>
      <input onChange={onChange} placeholder="Insert Your Name"></input>
      <button>Click Me!</button>
    </form>
  );
}

export default Square;

바로 React.FormEvent를 사용하는 것이다 하지만 이게 다가 아니고 input의 event를 갖고 오기 때문에 <HTMLInputElement>를 추가로 넣어줘야 된다

 

이렇게 함으로써 event의 자동완성기능을 볼 수 있다

 

예) currentTarget의 자동완성기능

또한 오타 방지도 해준다

 

예) value 오타를 알려준다

 

'Typescript' 카테고리의 다른 글

코드 정리 (0) Import Path  (0) 2023.03.17
Typescript (6) Enums  (0) 2023.03.09
Typescript (4) useState  (0) 2023.03.04
Typescript (3) Optional Props  (0) 2023.03.04
Typescript (3) Props 사용하기  (0) 2023.03.04