Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- npm install 문제
- git lab clone
- npm start
- 그누보드반응형
- Git clone
- minwidth
- maxwidth
- owlcarousel
- 이미지반응형
- 웹아이콘
- slickslider
- fontawesome
- 의존성문제
- npm install
- legacy-peer
- 단어단위로떨어지기
- 정적객체
- vscode git clone
- 플러그인
- node설치
- node 오류
- window 정책변경
- XEIcon
- 동적객체
- 글자들여쓰기
- MediaQuery
- package.json
- react npm install
- googleicon
- 아이콘사용법
Archives
- Today
- Total
어쩌다 알게 된 ƪ(•̃͡•̃͡ ƪ
[문법] 컴포넌트와 props 본문
728x90
컴포넌트
길어지는 html을 간략하게 사용할 수 있는 것
1. 반복 적인 것
2. 페이지 여러개가 있을 경우 개별 페이지
3. 자주 변경되는 ui
- 위치: 함수 바깥에 별도 함수로 작성
- 첫시작은 대문자 파스칼케이스
- return()으로 시작하여 꼭 하나의 태그로 감싸져 있어야 함
Props
- React 컴포넌트 간 데이터를 전달하기 위해 사용
- 읽기 전용 객체
- 부모 컴포넌트가 자식 컴포넌트에 데이터를 전달할 때 사용
- 상태를 변경하려면 state를 사용
- Props로 전달되는 값은 문자열, 숫자, 배열, 객체, 함수 등 어떤 데이터 타입도 가능
import { useState } from 'react'
function App() {
let [나이, 나이변경] = useState([
['민수', 20],
['영희', 32],
['순신', 5],
['맹구', 1],
]);
return (
<>
<div className="test">
<button onClick={() => {
let name = [...나이];
name.sort((a, b) => a[0].localeCompare(b[0])); // 이름 기준으로 가나다순 정렬
// name.sort((a, b) => b[0].localeCompare(a[0])); // 이름 기준으로 가나다순 내림차순 정렬
나이변경(name);
}}>이름 정렬</button>
<button onClick={() => {
let age = [...나이];
age.sort((a, b) => a[1] - b[1]); // 나이 기준으로 오름차순 정렬
// age.sort((a, b) => b[1] - a[1]); // 나이 기준으로 내림차순 정렬
나이변경(age);
}}>나이 정렬</button>
<ul>
<li>{나이[0][0]}: {나이[0][1]}</li>
<li>{나이[1][0]}: {나이[1][1]}</li>
<li>{나이[2][0]}: {나이[2][1]}</li>
<li>{나이[3][0]}: {나이[3][1]}</li>
<Li a={0} b={0} c={1} 나이={나이}/>
<Li a={1} b={0} c={1} 나이={나이}/>
<Li a={2} b={0} c={1} 나이={나이}/>
<Li a={3} b={0} c={1} 나이={나이}/>
</ul>
</div>
</>
)
}
function Li({a,b,c,나이}){
return(
<>
<li>{나이[a][b]} : {나이[a][c]}</li>
</>
)
}
Props vs State
| 목적 | 부모에서 자식으로 데이터 전달 | 컴포넌트 내부 데이터 관리 |
| 변경 가능 여부 | 읽기 전용 | 변경 가능 |
| 어디서 관리 | 부모 컴포넌트 | 해당 컴포넌트 내부 |
| 데이터 흐름 | 단방향(부모 -> 자식) | 컴포넌트 자체에서 관리 |
728x90
'개발 > 🟦 React' 카테고리의 다른 글
| [문법] .map() 메서드 이용해서 반복 줄이기 (1) | 2025.01.15 |
|---|---|
| [문법] 컴포넌트, 삼항 연산자, Modal 창 제어하기 (0) | 2025.01.06 |
| [함수] sort() 오름차순, 내림차순 정렬하기 (4) | 2025.01.04 |
| [문법] 얕은 복사와 깊은 복사가 뭐지?? (4) | 2025.01.03 |
| [문법] state 사용, 스프레드 연산자 (1) | 2025.01.03 |
Comments
