안녕하세요! 한국외국어대학교 글로벌캠퍼스 멋쟁이사자처럼 11기를 대상으로 React.js 기초 세션을 진행한 임예람입니다.
세션 자료와 세션 영상은 아래에 첨부했습니다!
- React 프로젝트 생성하기
- React의 기본 hook인
useState
,useEffect
- 반복되는 요소
component
로 만들기
- likelion이라는 이름으로 프로젝트를 생성했습니다. 기본으로 생성되는 파일과 폴더에 대해 짧게 알아보았습니다.
- 간단한 리스트뷰를 만들어 세션을 진행했습니다.
![listViewDemo](https://private-user-images.githubusercontent.com/77733145/278046120-8938b06a-3004-4ee9-9965-e46f4c3fff6b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk4MDMsIm5iZiI6MTczODk4OTUwMywicGF0aCI6Ii83NzczMzE0NS8yNzgwNDYxMjAtODkzOGIwNmEtMzAwNC00ZWU5LTk5NjUtZTQ2ZjRjM2ZmZjZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0MzgyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkzYzAxM2FjZjViMmU5NDViM2RhMjA3NTdjZTNhZTdkNjJiYmUwZTE4MjU1ZDJjNjNlOWJhZmE0Njg3NzBmMjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.b2eq1qVxmbMC-Y7qm7IM87Ci2ZbzXPcLuBCtq9xMe5I)
useState
를 이용해 아이템의 개수를 변경시키는 기능을 만들었습니다.
![](https://private-user-images.githubusercontent.com/77733145/278046229-8d5be6e2-744c-4ae0-902e-41ce66efa438.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk4MDMsIm5iZiI6MTczODk4OTUwMywicGF0aCI6Ii83NzczMzE0NS8yNzgwNDYyMjktOGQ1YmU2ZTItNzQ0Yy00YWUwLTkwMmUtNDFjZTY2ZWZhNDM4LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0MzgyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFkYTljM2IzYWI3MzRhMzljMTY5OTk1ZTljMDA3ZjBhZTBiY2E0MTY4OWM1MmY0NTVkZGM3Mzc0ZjhkNTBlYTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.nSs6nFDCE9iW7UlAmfqCSNGFTomZkP5C-R2PxMVjf6s)
useEffect
를 이용해 개수가 변경된 아이템을 감지하는 기능을 만들었습니다.
![](https://private-user-images.githubusercontent.com/77733145/278046269-7fa080c5-6c13-4e5e-9772-801c646cb4d8.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk4MDMsIm5iZiI6MTczODk4OTUwMywicGF0aCI6Ii83NzczMzE0NS8yNzgwNDYyNjktN2ZhMDgwYzUtNmMxMy00ZTVlLTk3NzItODAxYzY0NmNiNGQ4LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0MzgyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZjMTljOTY3NTFiYmUwNWYzOTJjMjY3MjY5ZjlmYmExZDA1NThiMTVkNDc1NDRhYTdiMzJiYjBhOTFmY2JiYjImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.lHV2XfRU2swc78QXyFGfoIPgogElNYb4bH7OJslcG1I)
-
반복되는 요소를
component
만들어 재사용성의 중요성을 강조했습니다. -
체크박스를 활용해 체크된 아이템이 몇 개인지 세는 기능을 과제로 내주었습니다.
![](https://private-user-images.githubusercontent.com/77733145/278046309-c9fc8a8a-da56-46c5-afec-4e7391b267ab.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk4MDMsIm5iZiI6MTczODk4OTUwMywicGF0aCI6Ii83NzczMzE0NS8yNzgwNDYzMDktYzlmYzhhOGEtZGE1Ni00NmM1LWFmZWMtNGU3MzkxYjI2N2FiLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0MzgyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBjMDM0NzUxY2YwMmRlYmNmZTFlNGFhZGI4ZWRhZTg4MjFlMWI4ZWExMzdkZGQ0NDIyMjBlYjkyZDRjYTA1MzgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5ynb-EYFlrKCG0ZaTkLEpLyxToRKpbpwyiiN9tFn0Tk)
![feedback](https://private-user-images.githubusercontent.com/77733145/278046337-44d72edb-0d73-46cd-ad4d-9ce8fd620db6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5ODk4MDMsIm5iZiI6MTczODk4OTUwMywicGF0aCI6Ii83NzczMzE0NS8yNzgwNDYzMzctNDRkNzJlZGItMGQ3My00NmNkLWFkNGQtOWNlOGZkNjIwZGI2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA0MzgyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZlYWVjMzljZGY3ZmIxNTIzZGFkMTVkNTU0YTNlNmUyNDUzY2JlODlkYTdhZWFkMDJhOWE3MWZmMDdkNDQ1N2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.FyobLAr_F2MSgho4J04Xh1lT_DEIIiD-Bnvs99-6UR8)
멋사 내에서 프로젝트와 해커톤들을 진행하며 11기분들이 React.js 사용에 어려워한다는 것을 알게 되었습니다. 겉만 React일 뿐, useState나 component를 사용하지 않고 대부분 HTML, CSS에만 의존하는 코드를 작성하고 있었습니다.
이러한 현상을 인식하고 나서는 쭉 React.js 기초에 대해 강의하고 싶었습니다. state를 사용하면 무의미한 랜더링을 막을 수 있는 점, 똑같이 생긴 요소는 재사용이 가능하다는 것 등등 React가 많이 쓰이는 프론트 기술 스택인데는 이유가 있다고 알려주고 싶었습니다. 그래서 이렇게 좋은 기회를 통해 강의할 수 있어 감사했습니다.
강의를 진행하며 학생들의 상태를 체크했을 때 세션 내용을 잘 따라오기도 했고 한 명 한 명 과제를 보았는데 과제 수행률도 높아 의미 있는 시간이었습니다.