본문 바로가기

리액트14

React 18 + tailwindcss 세팅 (eslint, prettierrc) 라이브러리 설치 CRA, react-dom설치 # CRA + typescript npx create-react-app inflinker-v3-front --template typescript # react-dom 추가 npm i --save react react-dom typescript Tailwind 설치 #Tailwind CSS 설치, 세팅파일 npm install -D postcss autoprefixer npx tailwindcss init npm install -D postcss-import npm install postcss-nesting --save-dev 컴포넌트 라이브러리 등등 설치 # React-Select 설치 # npm i --save react-select eslint, pret.. 2024. 1. 15.
[React] 코드 분할 Code-Splitting (번들링) 공식문서 - https://ko.reactjs.org/docs/code-splitting.html 번들링이란? 앱이 커지면 번들도 커진다. 큰 규모의 서드 파티 라이브러리를 추가할 때 실수로 앱이 커져서 로드 시간이 길어지는 것도 주의해야하는 부분이다. 코드 분할 Code-Splitting 번들이 거대해지는 것을 방지하는 방법 런타임에 여러 번들을 동적으로 만들고 불러오는 것 Webpack, Rollup과 Browserify (factor-bundle) 같은 번들러가 지원하는 기능 코드 분할은 여러분의 앱을 “lazy-load” 하게 도와줌 앱의 코드 양을 줄이지 않고도 사용자가 필요하지 않은 코드를 불러오지 않게함 앱의 초기화 로딩에 필요한 비용을 줄여줍니다. ✅ 동적 import()문법 // Befo.. 2021. 12. 15.
[React] Hook이란? ✨❗️ 리액트 공식 문서 - Hook의 개요 Hook은 React 버전 16.8부터 새로 추가된 것으로 기존 Class 바탕의 코드를 작성할 필요 없이 상태 값과 여러 React의 기능을 사용할 수 게하는 요소이다. ✅ Hook이 뭔가요? 👉 Hook은 함수 컴포넌트에서 React state와 생명주기 기능(lifecycle features)을 "연동(hook into)" 할 수 있게 해주는 함수입니다. - React 공식 문서 ✅ 왜 등장했을까? Class component - state, 라이프 사이클 때문에 사용 - 클래스로 부터 한번 인스턴스가 생성이 되고 나면 독립적으로 움직일 수 있음 - this.state가 참조하는 값은 항상 최신 ⇒ 결과를 보장하기 힘듬(버그 발생) - 반면 함수는 한번 .. 2021. 12. 15.
[React] 리액트란? 사용하는 이유 Why React? Web-app (웹 앱) 앱과 같은 사용성을 제공하는 웹. 높은 수준의 UX제공 화면의 새로 고침없이 부드럽게 전환을 해주는 장점 (SNS 사이트에 주로 사용) 모바일 App으로 발행이 쉬움 요즘은 Web page(웹 페이지)라는 말보다 Web Application(웹 애플리케이션)이라는 말을 더 많이 사용한다. ... 애플리케이션의 규모가 커지지면서 다양한 기능을 구현이 요구되었고, 이전의 방법(DOM, jQuery 등)들로 개발+유지보수를 하는 것이 어려워졌다. 화면의 모든 DOM 요소들에 직접 접근해서 조작하고 관리하기란 쉽지 않다. (jQuery도 결국엔 쉽게 DOM에 접근해서 조작을 가능하게 하는 메소드의 모음) 시장에서 요구되는 웹 서비스의 규모가 커짐에 따라 복잡한 애플리케이션을 개발하며 생.. 2021. 12. 13.
[React]CRA 세팅 Failed to compile 에러 (eslint, prettier) MEGAFOX 팀 프로젝트 - 초기세팅 을 참고하여 개인 포트폴리오를 위한 새로운 CRA 프로젝트를 생성했다. 그 짧은 시간동안 react-router의 업데이트(v5 → v6)가 있어서 이번 프로젝트에 적용해보기로 했다. 그렇게 세팅을 하고 npm start !! prettier 플러그인 로드에 실패했다. eslint-plugin-prettier 모듈을 찾을 수 없다구. .eslintrc에 사용하겠다고 적어두었는데 찾을 수가 없네? CRA에는 eslint가 내장 되어있지만, 추가설정을 위한 package는 따로 설치해야한다. npm install -D prettier eslint-config-prettier eslint-plugin-prettier 성공과 동시에 네! 다음 Error😃 Failed to.. 2021. 11. 17.
[React-Router]리액트 라우터 v5 → v6 (useHistory → useNavigate) 리액트 라우터 v6에서는 기존의 useHistory 대신 useNavigate를 사용해야합니다. 공식문서 : https://reactrouter.com/docs/en/v6/upgrading/v5#use-usenavigate-instead-of-usehistory (공식문서 링크 변경) 공식문서 : https://reactrouter.com/en/6.21.2/hooks/use-navigate#usenavigate // This is a React Router v5 app import { useHistory } from "react-router-dom"; function App() { let history = useHistory(); return ( {history.push("/main")}}>go home.. 2021. 11. 9.
[React]함수형 컴포넌트에서의 this.props.history.push(); MEGAFOX 프로젝트 리팩토링 class 컴포넌트로 작업한 부분을 함수형 컴포넌트로 수정 진행 중. :: class component -> function component 🤓 이 때, onClick 이벤트 시 페이지 이동을 위해 사용했던 함수형은 state 없는데, this.props를 사용할 수 있나요? 컴파일부터 안됩니다. this.props.history.push(경로); 를 더이상 사용할 수 없었다. goToTheater = () => { const { history } = this.props; history.push('/theater/list'); }; react-router v5를 기반으로 설명 합니다. (v6버전 관련 내용 포스팅, 공식문서) [ 해결 ] 함수형에서 push메서드를 사용해.. 2021. 11. 8.
[React]fetch함수와 api를 이용한 통신 실습 그 동안 진행한 공부내용을 뒤적거리다 foundation 4주차에 현우님이랑 실습한 통신 코드를 발견했다. 처음으로 백엔드와 통신을 해본 날이었는데, 동휘님, 치훈님과 실습을 마치고 돌아왔던 저녁. 현우님이 front와 더 해보고 싶은 작업이 있다고 하셔서. 그리고 그게 더 재밌을 거라고 어필하셔서🤣 내 작업을 제쳐두고 했던 작업.(그래도 밤새 완성은 했던🥲) 다음 날, 현우님과의 api 통신 작업 부분을 원복하지 못하고 PR을 올렸었는데, 오히려 멘토님이 해당 코드에 대한 코드리뷰를 해주셔서 더 많이 배울 수 있었다. 이 날은 내가 통신해서 결과를 봐야한다고 한다고 현우님을 찾아가 졸라아했다. 이 작업으로 인해, 1, 2차 프로젝트 시 백엔드에서 작업해준 api를 붙일 때 정말 도움이 많이 됐었다. [.. 2021. 11. 1.