일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Javascript
- 계획
- react
- aws s3
- 삶
- 백엔드
- 기획
- 대학졸업
- 이력서
- 신입 프론트엔드
- MONGOOSE
- 신입 이력서
- 캐플라이어
- CSS
- s3 bucket
- 회고
- 공부
- Next.js 13
- 개인 프로젝트
- 신입
- 개발
- 개인프로젝트
- 신입 개발자
- Next.js
- 구상
- TypeScript
- 개발자 이력서
- 프론트엔드
- Today
- Total
개발 마라톤
[React] 이벤트와 state 본문
6. 이벤트
이벤트를 통해 사용자의 행동에 따라 변화를 나타낼 수 있다.

우선 사용할 컴포넌트(사용자 정의 태그)에 onChangeMode={function(){..}} 이라는 함수를 하나 정의한다. 해당 함수도 역시 props로, 함수를 작성할 때는 중괄호 {}를 통해 작성한다.
태그 정의 함수에서 이벤트를 정의하기 위해서는 html와 같은 onClick 이벤트 속성을 작성해준다. 단, html와 다른 문법을 따르므로, onClick은 대소문자를 확실히 적고 내용은 중괄호 {function(event){..}}를 통해 적는다. 단, event함수는 event객체를 파라미터로 사용한다.
props이기 때문에, 사용하기 위해서 props.onChangeMode()로 접근한다.


함수fucntion(){} 은 ()=>{}로 축약 가능하다.

KeyWord
컴포넌트 안에 함수 작성
함수에서 props처럼 사용
함수에서 이벤트 함수 (event) 매개변수
7. state

prop과 state 모두 변경 시에 컴포넌트의 새로운 return값을 나타내준다.
단, prop은 컴포넌트 외부를 위한 데이터이고, state는 컴포넌트를 만드는 내부를 위한 데이터다.

기본적으로 내부 변수의 값이 바뀐다고해서 컴포넌트(함수)가 재실행되지는 않는다. 이 문제를 해결하게 위해 useState를 이용한다.
import {useState} from 'react';
// react의 기본 내장 라이브러리인 {useState}를 이용한다.


useState(값)으로 state 객체를 정의하며, 배열[0]에는 값이, [1]에는 값을 변경하는 set함수로 구성된다.


하지만 이는 정상작동하지 않는다. 이는 setId를 통해 설정된 id가 문자열이기 때문이다. 정확히는 태그의 속성값을 불러오면 그 값은 문자열이 된다.

그러므로 Number()함수 등을 써서 캐스팅하여 이용하자.
KeyWord
useState : 내부 변수 변화시 재실행
const [값, 함수] = useState(값)
태그 속성값은 문자열
'--- Front-end --- > React' 카테고리의 다른 글
[React] 생성, 수정, 삭제 기능 구현 (0) | 2023.01.04 |
---|---|
[React] 수정 및 컴포넌트 작성과 props 작성 (0) | 2022.12.29 |
[React] React란 (0) | 2022.12.29 |