FE/React 23

[React] 리액트 이벤트 캡처링

💥 FullCalendar작업을 하고 있는데 발생한 문제  이벤트가 부모 > 자식에게 적용되지 않는다 ! 날짜를 선택했을 때, 적용되는 이벤트(dateClick) 작성해두었었다. 그런데 날짜를 선택하면 잘 적용이 되었지만, 날짜 안에 자식 요소인 일정이 들어간 경우는 적용이 되지 않았다..즉, 일정(하위요소)가 추가되면 상위 요소에 적용되던 이벤트의 가용범위가 너무 작아진다는 문제 발생 !!  ✔️ 해결 방법 문제를 해결하기 위해 GPT 교수님께 여쭤보니 '이벤트 캡처링' or '이벤트 버블링'을 사용하라고 하심 !  * 이벤트 캡처링 : 이벤트가 최상위 부모 요소에서 시작해 이벤트가 발생한 요소까지 내려온다. * 이벤트 버블링 : 이벤트가 발생한 요소에서부터 다시 최상위 부모 요소까지 올라간다.  이..

FE/React 2024.08.18

[React] 리액트 App.js 화면에 꽉 차게 설정

💥 트러블 슈팅 문제점 :   개발 중 굉장히 거슬리는 문제 하나가 발생하였다..  맨 위 헤더 컴포넌트의 border를 설정했는데.. 저렇게 hr처럼 나온다. 확인해보니 화면에 꽉 차지 않는 이유 때문 !   아니 왜 App.js가 화면에 꽉 차지 않지?  그래서 style에 width : 100%도 추가해주었는데.. 되지 않았음 😭    하지만 문제는 생각보다 간단히 해결된다. 해결방법 - 기본 스타일 초기화브라우저의 기본 스타일이 영향을 미칠 수 있다고 한다. CSS 리셋이나 노말라이즈 CSS를 사용하여 기본 스타일을 초기화하자 !  npm install normalize.css // index.jsimport 'normalize.css'; 이렇게 간단하게 해결 가능 ~

FE/React 2024.06.12

[React] 하단 네비게이션 만들기

만든지는 한~ 참 되었지만 까먹기 전에 얼른 써야겠다  ✅ 하단 네비 커스텀 요구사항 1. 클릭 시, 페이지 이동(기본)2. 페이지에 맞는 Footer메뉴 선택 3. 페이지 바닥에 고정 👩🏻‍💻 하단 네비 만드는 과정 1. App.js에 페이지 Router 생성 기본적으로 페이지를 이동하기 위해서는 페이지 라우팅이 필요하다. 하단 네비에서 react-router-dom의 Link를 사용할 계획이었기에 App.js에 이러한 라우터를 추가해주었다.  } /> }/> }/> }/> }/> }/>    2. Footer.jsx 생성 - Link로 경로를 주고, 메뉴들을 생성해주었다. impo..

FE/React 2024.06.11

[React] FontAwesome 사용하기

(내가 잘 까먹어서 올려두는) 리액트에서 폰트 어썸 사용하기 폰트어썸을 모를땐 파일에 jpg를 추가해서.. 하나씩 넣었다. 블로그에 올리고 img주소를 복붙했다. 이 얼마나 고된 작업이던가 하지만 폰트어썸을 만나고 난 뒤, 내 인생은 360도 변했다. 폰트어썸.., 나의 빛(까진 아님), 폰트어썸, 나의 구원 ! 어쨌든 정말 간편하다! 1. fontAwesome설치 $ npm i --save @fortawesome/fontawesome-svg-core $ npm i --save @fortawesome/free-solid-svg-icons $ npm i --save @fortawesome/react-fontawesome 2. FontAwesome.jsx 파일 만들기 import { library } fro..

FE/React 2024.04.17

[React] Snippets/ 리액트 단축키 사용법

1. Sinppets란 Sinppets : 코드 조각이나 코드 템플릿 소프트웨어 개발에서 일정한 패턴이나 반복되는 코드를 빠르게 작성할 수 있도록 도와주는 기능 2. 사용 방법 리액트 개발을 할 때 효율적으로 작업하기 위해 사용하는 단축키가 몇가지 있다. Visual Studio Code에선 "ES7 React/Redux/GraphQL/React-Native Snippets"이라는 확장팩을 설치해서 사용할 수 있다. 확장팩 설치 > react sinppets 검색 3. 자주쓰는 단축키 1. 함수형 React 컴포넌트 생성 - rfc // rfc import React from 'react' export default function Home() { return ( Home ) } 2. 기본적인 클래스형 ..

FE/React 2024.03.25

[React] 리액트 배너 슬라이드 만들기(Swiper)

우리 프로젝트 웹 화면이 정적인 느낌이 강해서 .. 로딩 페이지에 이어 이번에는 홈 화면에 배너 슬라이드를 추가하였다. Swiper 사용하기 Swiper React Components Swiper is the most modern free mobile touch slider with hardware accelerated transitions and amazing native behavior. swiperjs.com 여기서 다양한 방법을 만나볼 수 있다 ~ ! Swiper 설치 npm i swiper Swiper 사용법 // Import Swiper React components import { Swiper, SwiperSlide } from 'swiper/react'; // Import Swiper st..

FE/React 2023.05.29

[React] 리액트 로딩 페이지 만들기 (react-spinners)

프론트에서 API를 호출하여 가져오는 동안 페이지에 아무런 변화가 없으면 사용자들은 당황한다 .. `어 ..? 이게 되고 있는 것 맞나 ? ` 그래서 로딩 화면을 넣는데 .. 리액트에서 어떻게 넣을까 ! 고민하고 있었는데 라이브러리만 잘 쓰면 뚝딱하고 만들어진다 (라이브러리 최고 ~ ) React spinner 설치하기 npm install react-spinners 또는 npm install react-spinners --save 사용법 - Spinner 모양 선택하기 https://www.davidhu.io/react-spinners/ React Spinners www.davidhu.io 이 사이트에 들어가서 여러가지 스피너 중 마음에 드는 스피너를 선택하면 된다. 가장 기본적인 BeatLoader와..

FE/React 2023.05.24

[React Native] 맥 OS 개발환경 설정중 발생한 오류

react-native를 설치해서 사용할 수 있는 방법은 크게 react-native-cli를 설치하거나 expo-cli를 설치하는 것인데 expo 설치는 처음이 쉽지만 여러가지 제약이 있어 불편한 점이 있다. 따라서 react-native-cli를 설치해서 사용했다. 이 자식은 처음 설치가 굉장히 굉장히 복잡하고 .. 번거롭다 . 1. homebrew 설치 2. rbenv 설치 3. node.js 설치 4. watchman 설치 5. react-native-cli설치 6. xcode 설치 7. cocoapods 설치 8. jdk설치 9. 안드로이드 스튜디오 설치 이렇게 9개를 설치했는데 오류가 많이 떴다 컴퓨터를 Expo로 갈아타고 싶었으나 .. 어찌저찌 해냈다 .. 휴 ~ 설치과정은 프로젝트가 끝나면..

FE/React 2023.04.22

[React] 리액트 입문 - 생명주기 함수 사용하기 (변경 과정)

생명주기 함수 2번째 시간 ~ [React] 리액트 입문 - 생명주기 함수 사용하기 (생성 과정) 생명주기란( in react ): component의 생성, 변경, 소멸 과정을 뜻한다 ~ ! 더보기 앞서 배웠던 리액트에서 component를 App.js에 import하여 화면에 rendering하였다. import React from 'react' export default function R004_Lif 0lrlokr.tistory.com 앞서 우리는 생명주기 함수 중 '생성'하는 함수들을 살펴보고 왔다 이번 포스팅에서는 생명주기 함수 중 '변경'하는 함수인 shouldComponentUpdate()함수에 대해서 알아보겠다 ! 이 때 '변경'이란 props나 state의 변경을 말한다. App.js ..

FE/React 2023.03.29

[React] 리액트 입문 - 생명주기 함수 사용하기 (생성 과정)

생명주기란( in react ): component의 생성, 변경, 소멸 과정을 뜻한다 ~ ! 더보기 앞서 배웠던 리액트에서 component를 App.js에 import하여 화면에 rendering하였다. import React from 'react' export default function R004_LifecycleEx() { return ( R004_LifecycleEx ) } 방식이 아니라 render()함수를 사용하여 html 코드를 return 하는 방식에 대해서 자세히 알아보겠다 필자는 앞선 방식에 익숙해서 render함수 배움의 필요성을 느껴서 접은 글에 언급해본다. rfc+enter에 대해 알지 못하는 분들은 혼란을 피하기 위해 넘어가는 것이 좋을 것 같다 ! component의 생성 ..

FE/React 2023.03.29