[React] Ref로 DOM 다루기 & Form 다루기

2022. 10. 21. 15:55·🍞 FrontEnd/React

📌 useRef()로 DOM 다루기

Input Element가 있고 화면이 뜨자마자 focus를 주고 싶다면 useRef() hook을 사용하면 된다.

왜 document.querySelector 류를 사용하지 않고 useRef라는 별도의 방법을 제공할까?

Vanilla JS 같은 경우는 document.get ~ / document.query ~
React 같은 경우는 useRef / ref을 사용한다.

태그에 ref props로 넘겨주고 current로 접근하여 사용할 수 있다.

 

📌 Form 다루기

preventDefault로 submit을 하면 새로고침되는 기본 동작을 없애준다.

그리고 console의 dir을 사용해 target의 elements 모든 속성을 확인해봄으로써 form에 접근할 수 있었다.

 

console.dir() - Web APIs | MDN

The method console.dir() displays an interactive list of the properties of the specified JavaScript object. The output is presented as a hierarchical listing with disclosure triangles that let you see the contents of child objects.

developer.mozilla.org

React에서는 for 대신 htmlFor 사용, value 대신 defaultValue 사용

 

 

다른 예제로 validation, value을 사용해 유효한 숫자로 시작하는지 input의 값을 확인할 것이다. 

phoneNumber의 길이가 0이고, message가 유효하지 않다고 하면 button을 disabled 시켜줌으로써 제출하지 못하게 만들어 준다. 그리고 0으로 시작할 때만 입력이 가능하게 하며 useState로 상태를 변경해준다.

 

저작자표시 (새창열림)

'🍞 FrontEnd > React' 카테고리의 다른 글

[React] 네트워크 통신 Fetch API  (0) 2022.10.22
[React] Error 다루기  (0) 2022.10.21
[React] state변경 시, setState, useState 사용 이유  (0) 2022.10.06
[React] CSR과 SSR 차이  (0) 2022.10.05
[React] Virtual DOM과 리랜더링, 재조정  (0) 2022.10.04
'🍞 FrontEnd/React' 카테고리의 다른 글
  • [React] 네트워크 통신 Fetch API
  • [React] Error 다루기
  • [React] state변경 시, setState, useState 사용 이유
  • [React] CSR과 SSR 차이
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    Android
    위상정렬
    map
    백준
    Java
    C++
    길벗 블로깅 멘토링
    level1
    알고리즘
    JavaScript
    유니온파인드
    level2
    react
    Front
    코틀린
    길벗 블로깅 멘토
    프로그래머스
    코딩자율학습
    umc
    안드로이드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[React] Ref로 DOM 다루기 & Form 다루기
상단으로

티스토리툴바