달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • BOJ
  • 백준
  • BRONZE
  • 혼공MySQL
  • Bronze IV
  • select
  • 백준문제풀이
  • 알고리즘
  • 프로그래머스
  • HTML
  • sql 문제풀이
  • 알고리즘풀이
  • java algorithm
  • 백준알고리즘
  • java
  • Algorithm
  • SQL
  • SQL고득점Kit
  • 자바
  • 혼공SQL
  • math
  • Bronze V
  • Bronze III
  • 문제풀이
  • MySQL
  • 혼자공부하는SQL
  • react
  • Scanner
  • programmers
  • BOJ algorithm

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

[React] Form
개념 창고/React

[React] Form

2023. 3. 30. 10:34

Form : 사용자에게 입력을 받기위해 사용

두 Form의 역할은 같지만 조금 다르다. 
HTML에서의 Form : Element 내부에 각각의 state가 존재
React에서의 Form : React는 컴포넌트 내부에서 state를 통해 데이터를 관리 

Form은 Controlled Components 는 통제를 받는데
값이 리액트의 통제를 받는 Input Formr Element이다.

HTML에선 자바스크립트로 값에 접근하기가 쉽지 않지만
React에선 Component에 접근하면 모든 값 Controller이 가능하다.
(Class Component 기준 이미지이며, 함수 컴포넌트에선 useState Hook으로 관리 가능하다.)

여러, 단일 모든 입력의 값을 Controllered Component로 사용자의 입력을 직접 제어

// 모든 입력값을 대문자로 변경 
const handleChange = (event) => {
	setValue(event.target.value.toUpperCase()); 
}


Textarea : 여러줄에 걸쳐 긴 텍스트를 입력받기 위한 태그
textarea의 value에 useState를 통해 연결하고,
값이 변경된 경우 handleChange 함수가 변경된 값을
setValue에 담아 업데이트 내용을 Submit 시 넘어가게 해준다.

 

Select : Drop-down 목록을 보여주기 위한 Html 태그 
Select의 value에 useState를 통해 연결하고,
값이 변경된 경우 handleChange 함수가 변경된 값을
setValue에 담아 업데이트 내용을 Submit 해준다.
다중 선택 허용시 multiple={true} 하고 Value에 선택된 값의 배열을 넣어주면 된다. 

 

File Input tag는 읽기전용이라 UnControllered Component 이다. 

하나의 컴포넌트에서 여러개 입력(Multiple Inputs)은 어떻게 처리해야할까? 

각각 useState를 만들어준다. 

자유롭게 입력받을 수 있게 만들려면 Null을 넣으면 된다. 

저작자표시 비영리 변경금지 (새창열림)

'개념 창고 > React' 카테고리의 다른 글

[React] Context란?  (0) 2023.03.31
[React] Composition vs Inheritance  (0) 2023.03.30
[React] List and Keys  (0) 2023.03.30
[React] 조건부 렌더링(Conditional Rendering)  (0) 2023.03.30
[React] Event  (0) 2023.03.29
    '개념 창고/React' 카테고리의 다른 글
    • [React] Context란?
    • [React] Composition vs Inheritance
    • [React] List and Keys
    • [React] 조건부 렌더링(Conditional Rendering)
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바