0. 1단계 props-drilling으로 생성한 홈페이지
리액트 팬레터 홈페이지 만들기: 1단계. props-drilling 만들기 완료.
1. 필수 요구 사항 styled-components 를 이용하여 스타일링 전역 스타일에 reset.css 를 적용해주고 box-sizing이 border-box가 되도록 설정 styled-components에 props를 넘김으로 인한 조건부 스타일링 적용 팬레터
zerotonine2da.tistory.com
1. [3단계] 중 [2단계] 구현 & TIL
- context 브랜치 : props-drilling의 작업 코드로 react context API를 사용 (전역상태를 이용한 코드로 리팩터링)
(1) 확실히 props로 하는 것보다 코드가 간결해졌고, 이해하기 쉬워졌음
(2) 데이터를 가져다 쓰는것도 매우 편리하다.
(3)Router.js에서부터 사용하려고 했는데 그 윗단계인 App.jsx부터 적용할 수 있음을 알게되었음.
(1) DataContext.js
▶createContext를 생성후 export
(2) App.jsx
▶ Provider를 사용해 자식 컴포넌트로 데이터를 보내기 가능
▶ import 해서 사용하기
(3) Router.js
▶ props로 했을때는 <Home/>, <Details/>, <DetailsUpdate/>에 모두 props로 전달했어야했음
▶ Context를 활용하면 중간 자식 컴포넌트에는 전달할 필요가 없음
(4) Home.jsx
▶ Context를 활용하면 중간 자식 컴포넌트에는 전달할 필요가 없음
(4-1) Home.jsx -> WriteCommnets
▶ data 변수에 useContext(DataContext)를 가져와서 활용하면 됨
▶ <CommentsLayout/> 컴포넌트도 동일 방식으로 진행.
▶ 코드만 리팩토링하여 결과물은 동일.
끝.
'TIL :: Today I Learned' 카테고리의 다른 글
리액트 : Modal 모달 팝업 만들기 (+ Div태그 contentEditable : 이미지 넣기) (0) | 2023.11.22 |
---|---|
리액트 팬레터 홈페이지 만들기: 3단계. Redux 리팩토링 (0) | 2023.11.17 |
리액트 팬레터 홈페이지 만들기: 1단계. props-drilling 만들기 완료. (0) | 2023.11.15 |
리액트 팬레터 홈페이지 만들기: 댓글 관리와 글자수 제한 기능 구현 (0) | 2023.11.15 |
리액트 팬레터 홈페이지 만들기: 댓글 수정 기능 구현 (0) | 2023.11.14 |