- Jsx -> Babel을 통한 JSX 컴파일 -> JS -> 브라우저
라이브러리, 데이터, 파일 가져오기
- import를 통해 React 객체 받아오기
- App.css, global-style.css, static 폴더 안에 있는 더미데이터.js에서 더미데이터 배열 가져오기
Siderbar 컴포넌트 생성
- 클래스 속성에 'siderbar'가 부여된 색션 태그 생성
- 아이콘을 담은 i 태그와 'far fa-comment-dots'를 속성에 부여해 해당하는 아이콘 가져오기
Counter 컴포넌트 생성
- -tweetForm__input 클래스 div가 부모 tweetForm__inputWrapper클래스 div 자식인 요소 생성
- tweetForm__inputWrapper클래스 div안에 tweetForm__count을 클래스로 가지며 더미데이터의 길이를 출력해주는 div 생성
Footer 컴포넌트 생성
- 로고 이미지를 담은 img와 footer태그를 자식요소로 가지는 div 생성
Tweets 컴포넌트 생성
- 더미데이터를 사용해 생성한 요소들을 담을 tweets 클래스의 div 생성
- map을 사용해 더미데이터의 요소(tweet)를(객체) 순차적으로 불러오고 활용해 아래의 요소들을 생성함↓↓↓
- tweet의 id 값을 key 속성 값으로 tweet을 클래스 값으로 가지는 li 생성
- img태그를 생성하고 tweet의 picture값을 가져와 src에 부여해 프로필을 담는 요소 생성
- 이름이 parkhacker인 경우 배경색을 연보라 색으로 지정하기 위해 tweet__username와 tweet__username--purple 을 클래스 이름으로 가지는 span요소를 생성하고 아닐 경우 tweet__username 클래스만을 속성으로하는 span요소 생성
- 클래스 값을 tweet__createdAt으로 가지는 트윗 생성 시간 정보를 담는 span 요소 생성
- 클래스 값을 tweet__message으로 가지는 트윗 메시지 정보를 담는 span 요소 생성
Features 컴포넌트 생성
- 만들었던 특징들(Counter, Tweets, Footer)을 담은 컴포넌트 생성
- Counter는 tweetFor__container의 후손 요소로 담기도록 위치
- tweetFor__container요소에 이어 append 처럼 위치하도록 Tweets, Footer 위치
App
- 최종적으로 Sidebar 컴포넌트와 Features 컴포넌트가 main 의 자식 요소로 위치