본문 바로가기

React7

코딩 애플 2022 리액트 복습용 정리(7) Redux Single Page Application 단점 → 컴포넌트 간 state 공유 어려움 해결법 0) props 계속 내려주기 -> 부모 - 자식 간에만 가능해서 중첩된 컴포넌트가 많을수록 번거로움 1) Context API (리액트 기본 문법) -> 성능 이슈, 컴포넌트 재사용의 어려움 등으로 잘 사용하지 X 2) Redux 등 외부 라이브러리 (참고) table의 은 가로줄 나 는 세로줄임. Redux : props 없이 state를 공유할 수 있게 도와주는 라이브러리 redux.store.js 라는 js 파일 하나에 state들을 보관할 수 있고, 이 state들은 모든 컴포넌트가 꺼내 쓸 수 있다. ● 설치하기 npm install @reduxjs/toolkit react-redux //참고로 re.. 2023. 2. 27.
코딩 애플 2022 리액트 복습용 정리(6) ajax, 탭 UI, transition 애니메이션 리액트에서 서버와 통신하려면? ajax : 새로고침 없이 GET / POST 요청을 할 수 있게 도와주는 간단한 브라우저 기능 ajax를 쓰려면 3개의 옵션 중 한 가지 방법을 사용하면 되는데, 1. XMLHttpRequest 응용2. 버튼 3번 누르면 더 이상 불러올 상품이 없다는 안내문을 띄우고 버튼 없애기 -> 응용3. 버튼을 누른 직후에 로딩 중 띄우기(요청이 성공하거나 실패하면 로딩 중 지우기) ... 시간 나면 더 구현해 보기 //POST 요청 ; 서버로 데이터를 전송 axios.post('URL', {key : 'value'}) ( + ) //ajax 요청을 동시에 여러 곳에 하고 싶다면? Promise.all( [axios.get('URL1'), axios.get('URL2')] ) //둘.. 2023. 2. 27.
코딩 애플 2022 리액트 복습용 정리(5) styled-components, useEffect styled-components 라이브러리 : 스타일을 입힌 컴포넌트를 만들 수 있음. //설치하기 npm install styled-components //사용하고자 하는 컴포넌트에 import import styled from 'styled-components' //사용 예시 let YellowBtn = styled.button` background : yellow; color : black; padding : 10px; `; // props.bg }; // props.bg == 'blue' ? 'white' : 'black' }; 이런 식으로도 사용 가능 padding : 10px; `; let NewBtn = styled.button(Btn)` //기존 스타일 복사하는 것도 가능 text-shad.. 2023. 2. 26.
코딩 애플 2022 리액트 복습용 정리(4) 부트스트랩, import / export, 라우터 [ 부트스트랩 ] https://react-bootstrap.github.io/ React-Bootstrap The most popular front-end framework, rebuilt for React. react-bootstrap.github.io 라이브러리 설치 후, npm install react-bootstrap bootstrap App.js에 파일을 import. import 'bootstrap/dist/css/bootstrap.min.css'; 예제 코드를 복붙한 후, 상단에 대문자로 시작하는 컴포넌트를 import 해준다. (+) className을 이용하여 커스텀도 가능. 1) css 파일에서 src 폴더 안의 이미지를 넣고 싶을 때 ./이미지 경로 2) html 파일에서 src 폴.. 2023. 2. 26.
코딩 애플 2022 리액트 복습용 정리(3) 이벤트 버블링, <input>, onChange 이벤트, 이벤트 객체, 옛날 문법, 배포하기 잠깐! 좋아요 버튼, 즉 span 태그를 눌렀는데 모달창이 나오는 버그? 상위 html로 퍼지는 이벤트 버블링을 막고 싶을 땐, e.stopPropagation()을 작성해주면 된다. 에 무언가 입력될 때 코드를 실행하고 싶으면, onChange / onInput 사용. 에 입력한 값을 가져오려면, e 파라미터 (이벤트 객체) 추가. {condole.log(e.target.value)}}/> //여기서 target은 앞의 input 태그를 가리킨다. 에 입력한 값을 저장하려면, let [입력값, 입력값변경] = useState(''); {입력값변경(e.target.value)}}> (참고) class를 이용한 옛날 React 문법 //기본 템플릿 class Modal extends React.Compon.. 2023. 2. 24.
코딩 애플 2022 리액트 복습용 정리(2) 컴포넌트, 동적UI(모달창), map(), props 많은 div들을 한 단어로 줄이고 싶다면? → Component를 사용! Component를 사용하면 더 명시적인 코드를 작성할 수 있기 때문에 관리가 쉬워진다. 컴포넌트 만드는 법 1. function 만들고, ※ 다른 function 바깥에 만들어야 함! 즉, function App() {} 밖에 만들라는 소리임. 그리고 함수 작명을 할 때는 영어 대문자로 시작하는 것이 룰임. 2. return() 안에 html 담기 3. 쓰기 (참고) return() 안에 html 병렬 기입하려면? 이런 식으로 묶어주면 됨. (fragment 문법) (참고) 컴포넌트를 갖다 쓸 때, 이렇게 써도 되지만 이렇게 바로 써도 됨. 그럼 어떤 걸 컴포넌트로 만들면 좋을까? 1. 반복적인 html 축약할 때 2. 큰 페이지.. 2023. 2. 24.
코딩 애플 2022 리액트 복습용 정리(1) 시작하기, JSX, useState, onClick 이벤트 리액트 프로젝트를 만들어 보자! 1. (프로젝트 파일을 담을) 파일 생성 후 2. shift + 우클릭 → 파워쉘 창 열기 3. npx create-react-app 프로젝트명 입력 (vite 사용해도 됨. npm create vite@latest ) Happy hacking! 이렇게 생성된 프로젝트를 코드 에디터로 열어 코딩하면 된다. 프로젝트 파일들을 살펴보면, App.js가 코드를 짜는 메인 페이지라고 할 수 있다. App.js에 쓰인 코드가 index.js를 통해 index.html로 변환되는 구조 미리 보기를 띄우려면 터미널에서 npm start 를 입력하면 된다. ( npm install 이 되어 있어야 함. ) 참고로 에러 메시지는 터미널이나 브라우저에서 확인하면 된다. 미리 쓰여있는 코드들.. 2023. 1. 28.