프론트엔드 개발

프론트엔드 개발/React

[React] useEffect와 친해지기 (Side Effect)

당신은 리액트를 쓰면서 useEffect를 얼마나 사용하는가? useEffect는 React 컴포넌트에서 side effect를 처리하는데 너무나도 중요하게 사용되는 훅이다. useEffect에 대해서 알아보려면 side effect에 대한 이야기부터 차근차근 밟아가야 한다. Side Effect란? 간단하게 한국어로 번역하면 부수효과라는 뜻으로 함수나 표현식의 실행 결과 외에 발생하는 영향을 말한다. 우리가 일반적으로 프로그래밍을 할 때에는 함수나 표현식의 결과값을 반환하는 것을 기대한다. 하지만 예상한 결과 값 외에도 외부 상태를 변경하거나 다른 부작용을 발생시키는 경우가 있다. 이런 외부 상태의 변경이나 부작용을 Side Effect라고 부른다. 보통 비동기적으로 처리되는 효과들을 Side Effe..

프론트엔드 개발/React

[알고 쓰자] React 작동 원리

리액트, 왜 사용하시나요? 최근 기술 면접을 대비하여 준비를 하다 보니, 문득 내가 왜 React를 쓰고, React Native를 쓰는 거지? 생각이 들었다. 내가 React를 사용하는 이유에 대해 나조차 전혀 모르고 있었기 때문에 내가 왜 리액트를 사용해야 하고, 이 라이브러리를 통해 얻을 수 있는 것이 무엇인지에 대해 알아본다. 결론부터 정의 해 보자면, 우리가 HTML, CSS, Javascript로 쌩 코딩하지 않는 이유는 시대의 변화와 흐름 때문이라고 볼 수 있다. 동적으로 사용자 친화적으로 웹 서비스가 변화 하면서 사용자에게 더 좋은 UI와 UX를 제공하기 위해 리액트를 사용하고 있는 것이다. 리액트란? 리액트 왜 사용하는지 결론을 냈으니, 리액트가 무엇인지 알아보자. 먼저 리액트 공식 D..

프론트엔드 개발/Mega Waka Board 프로젝트

[React] Mega Waka Board 프론트 제작기

학교 개발 동아리 Megabrain에서 각 동아리원들 코딩 실태 조사 느낌으로 도입했던 Wakatime이라는 서비스가 있었다. wakatime은 개발 시간 측정 서비스로 각 개발 ide 플러그인으로 구현되어 있다. 모든 동아리원이 플러그인을 적용하여 매주 얼마나 개발을 했는지 확인 용도로 서비스를 사용하고 있었다. 매주 불편하게 디스코드 스레드를 열고, 캡처 후 업로드하는 방식이 불편했던 나는 Wakatime에서 제공하는 API를 가지고 express를 사용하여 백엔드를 구축하고 React로 프론트를 간단하게 구축하였다. 백엔드 제작기는 아래 글을 참고하면 된다. https://www.jongung.com/287 [node.js] Mega Waka Board 백엔드 제작기 학기 중에 Node.js 공부를..

프론트엔드 개발/Recoil

[Recoil] 상태 관리 라이브러리, Recoil

Recoil이란? 리액트를 공부하면 꼭 짚고 넘어가야 하는 부분이 바로 전역 상태 관리입니다. 전역 상태 관리를 쌩(?)으로 하려면 지옥 같은 Props Drilling을 맛보게 될 겁니다. Props Drilling을 더한 상태 관리가 생긴다면, 코드를 읽을 때 props를 추적하기 굉장히 힘들어지고, 추적하다가 개발 시간을 다 잡아먹고 말 것입니다. 이러한 이유로 Redux, MobX, Context API, 오늘 알아보고자 하는 Recoil까지 다양한 상태 관리 라이브러리들을 사용합니다. 제가 가장 처음 접한 상태 관리 라이브러리는 바로 Redux였습니다. DND 포스팅 참고 최근 1년간의 npm trends를 살펴보면 Redux가 압도적으로 많은 것을 알 수 있습니다. Redux는 7년이라는 역사..

프론트엔드 개발/React

[React] 기본 Hooks

Hook은 최근 리액트 16.8부터 새로 도입된 기술로, Class Component에서만 사용 가능했던 state와 lifecycle을 function component에서도 사용 가능 하도록 제작됐다. 단지 Class component를 function component로 옮기는 것에서 끝난 것이 아닌, 컴포넌트의 state에 관련된 로직을 재사용 할 수 있다는 장점이 있고, 컴포넌트간의 통신을 도우는 Context API등 다양한 발전들이 이뤄졌다. React v.17 이후부턴 리액트가 공식적으로 Class component를 사용하는 것이 아닌, Functional Component를 사용하라고 권장했다. 따라서 외부 라이브러리부터 다양한 프로젝트에서도 Functional component와 ho..

프론트엔드 개발/React

[React] Higher Order Component

React에서 HOC라고 불리는 Higher Order Component의 개념에 대해서 알아보자. 한국 말로는 고착 컴포넌트라고도 불린다. Higher Order Component는 Hook이 나오기 이전 React v.16에선 매우 중요한 개념으로 자리 잡았다. HOC와 비슷한 역할을 하는 Hook의 등장으로 중요도가 예전만큼은 아니게 되었다. HOC란? advanced technique in React forreusingcomponent logic. 컴포넌트 로직을 재 활용 할 수 있는 고급 기술 not part of the React API 리액트 API랑은 전혀 관련이 없다 a pattern that emerges from React’s compositional nature. 리액트의 컴포넌트..

프론트엔드 개발/React Native

[React Native] React Navigation

React Navigation setup 리액트 네이티브 공식 문서를 살펴보면, Pagination 또는 Navigation을 원한다면 React Navigation 모듈을 사용하길 권장하고 있다. 다음 과정을 거쳐 나의 프로젝트에 React Navigation을 다운로드 해주었다. 먼저 프로젝트에 npm install 해주었다. > npm install @react-navigation/native 그다음 나 같은 경우는 Expo CLI를 사용하는 것이 아닌, ReactNative CLI를 사용하고 있기 때문에, npm install로 새로운 dependencies를 설치해 주었다. > npm install react-native-screens react-native-safe-area-context 리액..

프론트엔드 개발/React Native

[React Native] Components(1)

리액트 네이티브는 리액트와는 다른 내장 Component 체계를 가지고 있다. Component 모두를 react-native에서 import 해와 사용 할 수 있다. Component란? 재사용이 가능한 조립 가능한 블록으로 화면에 나타나는 UI 요소를 뜻한다. 이번 포스팅에선 RN에 내장 되어 있는 Component들을 이야기 해볼까 한다. View와 Text import React, { Component } from 'react'; import {View, Text} from 'react-native'; class App extends Component{ render(){ return( hello world ) } } export default App; View와 Text 모두 RN의 패키지 내에서..

Jongung
'프론트엔드 개발' 카테고리의 글 목록