개인프로젝트 (리액트 팬레터 홈페이지 만들기 ) 과제 해설
- 프로젝트 셋업
- 깃허브 브랜치 생성
- Router.jsx 설정
- 전역스타일링 ( GlobalStyle.jsx ) 설정
(1) 프로젝트 셋업
- CRA boilerplate 로 프로젝트 생성 : yarn create react-app practice
React 안 쓰는 파일 삭제 : logo.svg / reportWeb / Setuptest / App.test.js / App.css
[변경] App.jsx & index.jsx: React.StrictMood & reportWebvitals() 삭제 - pages/ , components/ , shared/ , assets/ 폴더 작성 및 필요 컴포넌트 사전 작성
- styled-components, react-router-dom 설치 : yarn add react-router-dom styled-components
- title 변경: public > index.html
- 절대경로 설정 : yarn.lock 클릭 + 파일생성 : jsconfig.json
{"compilerOptions": {"baseUrl": "src"},"include": ["src"]}
(2) 깃허브 브랜치 생성
(3) Router.jsx 생성
- path에 따라 화면 나타나게 하기 위함 (rfc로 구현)
- [★포인트] : <Navigate replace to ="/" > 사용하기
▶ 설정한 (<Route path="/"> || <Route path="/detail"> ) 이외의 경로는 path = "*" 여기로!
▶ <Navigate replace to="/" /> : replace 사용 이유=> 뒤로가기 가능 & 없으면 무한루프에 빠짐
(예시: detail 화면 > /abc (없는 경로) : abc를 없애고 '/'로 재할당하여 Home화면 이동
> 뒤로가기 > detail 화면으로 이동)
▶ replace 미사용(비추천): Home으로만 이동하고 뒤로가기 안됨 (대체 되는 것이 아니라 새로운 url 히스토리 생성)
▶ 상세페이지 이동 (:id) => path variable =(path parameter :react) 사용
(확인 ▼ : Detail.jsx 파일에서 useParam()으로 id값 확인 가능)
[App.jsx]
(4) GlobalStyle.jsx (전역스타일링 적용)
[ GlobalStyle.jsx]
▶ 전역 스타일링 안에
(1) 'reset.css' 파일 첨부 (https://meyerweb.com/eric/tools/css/reset/)
(2) box-sizing: border-box; 기본값은 content-box임 ( 모든 elements에 border-box 해주기)
(3) 기존 index.css의 body부분만 가져와서 넣고 기존 index.css 삭제
[index.jsx]
▶ <GlobalStyle.jsx>를 <App/> 아래 작성
끝.
▼ #02 리액트를 사용한 팬레터 웹사이트 개발
: 홈 화면 UI 구현 및 조건부 스타일링 (styled-component) ▼
#02 리액트를 사용한 팬레터 웹사이트 개발 : 홈 화면 UI 구현 및 조건부 스타일링 (styled-component)
▼ #01 리액트를 사용한 팬레터 웹사이트 개발 : 라우터 설정 및 전역스타일링 설정 ▼ #01 리액트를 사용한 팬레터 웹사이트 개발 : 라우터 설정 및 전역스타일링 설정 개인프로젝트 (리액트 팬레
zerotonine2da.tistory.com
'React' 카테고리의 다른 글
#03 리액트를 사용한 팬레터 웹사이트 개발 : DummyData로 리스트 UI 구현 및 클릭한 사람 데이터만 보이기 (1) | 2023.11.20 |
---|---|
#02 리액트를 사용한 팬레터 웹사이트 개발 : 홈 화면 UI 구현 및 조건부 스타일링 (styled-component) (1) | 2023.11.20 |
React : 리덕스 설정 및 useSeletor (0) | 2023.11.16 |
리액트 최적화: React.memo | useCallback | useMemo (0) | 2023.11.16 |
리액트 : Context API (전역에서 데이터 사용) (0) | 2023.11.16 |