https://deahan.tistory.com/427
[React] 272샘의 React7 (블락 기호 {} 사용)
https://deahan.tistory.com/426 [React] 272샘의 React6 (JSX)https://deahan.tistory.com/425 [React] 272샘의 React5 (개발 폴더 파일 구조)https://deahan.tistory.com/417 [React] 272샘의 React4 (Node 웹서버)https://deahan.tistory.com/416 [Re
deahan.tistory.com
까지 읽고 왔다면
준비를 위해 아래 파일들을 복사/붙여넣기로 src 폴더에 만들자
[ 깊이는 아니더라도 눈으로 대략 의미 파악 정도는 하는 것으로... ]
Friend.css
Friend.jsx
아바타 이미지를 제공해주는 사이트의 URL을 일부러 넣었다.
class가 아니고, className임에 주의!. JSX는 html이 아니라고 했다
자바스크립트 문법의 확장이라서, 자바스크립트의 예약어인 class를 쓸 수 없다.
그래서 react에선 class대신 className이라고 적자고 정했다.
Container.css
Container.jsx (이것은 컴포넌트인가 레이아웃인가...)
App.jsx 아래 처럼 수정!
실행 결과는 아래랑 비슷할 것이다.

하지만 기분이 안 좋다. 왜? 아바타/이름/나이/별명이 다 똑같다.
개선해 보자.
기억하자... 부모 자식 방향으로만 흐른다. 뭐가? 정보가!!
Container는 Friend의 부모다.. 왜? Friend를 가지고 있으니까!
Container.jsx 를 아래 처럼 수정
뽀인트는 Friend 태그에 내 맘대로 속성을 지정하고 값을 주었다
[ 숫자 값을 줄 때 좀 특별함이 왠지 절로 보임]
Friend.jsx 도 아래 처럼 고치장
Props에 굉장히 주목!. 매개변수이니 이름은 맘대로 바꾸어도 되는데....
React에선 그냥 안 혯갈리겡 Props로 쓰기로 했으니.. 고집 부리지 말공 따르기로...
console의 결과를 꼭 눈으로 확인!!
아마동 아래와 같은 결과 일꺼시기당. 느끼미 설마 안 왔는강?

느낌이 오다 말았다면.. 다시 소스를 차분히 보면 분명 보일것이다.
속성값들을 모두 한꺼번에 담고 있는 애가 Props란 사실을.......
다음 글에서 위의 소스를 조금 리팩토링 해보고, 매개변수에도
구조 분해를 적용해서 코드를 간략하게 해보자...
직접 리팩토링 아이디어를 내보는 것도 정말 값진 시간이 될것이라고 e7e샘이 그랬다.
'REACT' 카테고리의 다른 글
[React] 272샘의 React10 ( 레이아웃, children ) (0) | 2024.10.10 |
---|---|
[React] 272샘의 React9 ( Props 구조 분해 ) (2) | 2024.10.10 |
[React] 272샘의 React7 (블락 기호 {} 사용) (11) | 2024.10.08 |
[React] 272샘의 React6 (JSX) (6) | 2024.10.08 |
[React] 272샘의 React5 (개발 폴더 파일 구조) (3) | 2024.10.08 |