본문 바로가기
반응형

React33

[Electron, React, TS] 데스크톱 앱 프로젝트 생성하기 📒 Electron + React 프로젝트 구축하기 (24-04-01 추가) electron-is-dev 모듈이 ESM 방식을 지원하기 시작해서 CJS, require에서 MJS, import 방식을 사용하도록 글 내용을 변경했습니다. 📌 Electron이란 Chromium과 Node.js를 하나의 런타임으로 통합하여 JS, HTML, CSS 같은 기본적인 웹 지식으로도 데스크톱 애플리케이션을 만들 수 있는 프레임워크 입니다. 이걸로 데스크톱 애플리케이션을 어떻게 만드냐 싶겠지만 이미 우리가 사용하고 있는 VSCode, Slack, Skype, Figma 등등등 이미 검증된 서비스들에서 사용하고 있습니다. 또한 빌드 라이브러리를 통해 하나의 자바스크립트 코드를 윈도우, 맥, 리눅스에서 흔히 보던 설치 프.. 2024. 4. 1.
[React] 리액트 스크롤 애니메이션 라이브러리 개발 📒 @lasbe/react-scroll-animation @lasbe/react-scroll-animation 리액트에서 손쉽게 사용하는 스크롤 애니메이션. Latest version: 2.0.2, last published: a month ago. Start using @lasbe/react-scroll-animation in your project by running `npm i @lasbe/react-scroll-animation`. There are no other projects in www.npmjs.com GitHub - LasBe-code/react-scroll-animation: 리액트로 손쉽게 스크롤 애니메이션을 구현할 수 있는 라이브 리액트로 손쉽게 스크롤 애니메이션을 구현할 수 있는.. 2024. 3. 13.
TanStack Query(react-query) v5 주요 변경점 알아보기 feat. Suspense, ErrorBoundary 📒 react-query v5 주요 변경점 알아보기 새로운 프로젝트에 생각없이 react-query를 설치하고 예전 방식 그대로 사용하려는데 여기저기 오류가 빵빵 터져나갔습니다. 왜이러지 싶어 package.json을 찾아보니 메이저 버전이 업데이트 되었고, 공식문서를 천천히 훑어보니 생각보다 사용 방식이 변경된 것이 많아 주요 변경점들을 짚고 넘어가겠습니다. 📌 hook 옵션 객체 형태로 변경 버전이 올라가며 훅에 옵션을 넣어주는 방식이 객체 형태로 바뀌어 더욱 직관적인 모습을 보입니다. 기존 사용 방식 const { data } = useQuery(['queryKey'], getData); const mutation = useMutation(setData); 변경 후 사용 방식 const { data.. 2024. 3. 13.
TanStack Query(react-query), useMutation의 mutationKey 역할은 도대체 뭘까? 📒 react-query v5, useMutation의 mutationKey 역할은 도대체 뭘까? react-query의 메이저 버전이 5로 올라가고 사용방법이 많이 바뀌어서 코드를 수정할 일이 있었습니다. 그저 당연스럽게 공식문서를 보고 바꾸던 중, useMutation을 수정할 때 mutationKey라는 속성이 보였습니다. 저 Key라는 말에 꽂혀 당연히 필수 요소라 생각한 나머지 하나하나 정성스럽게 mutationKey를 작성해 주었습니다. const mutation = useMutation({ mutationKey: ['mutationKey'], mutationFn: updateData }); 그러다 어느 정도 프로젝트 규모가 커질 무렵 어느 순간 문득 다음과 같은 생각이 머리를 스쳤습니다. ".. 2024. 3. 13.
Storybook + React, 장점부터 설치와 문서 작성법 가이드 📒 Storybook Storybook은 UI 컴포넌트를 개발, 테스트 및 문서화하기 위한 오픈 소스 도구입니다. 개발한 공통 컴포넌트 혹은 디자인 시스템을 테스트하고 시각적으로 확인할 수 있는 환경을 제공합니다. 이번에 전사 공통 컴포넌트를 설계하고 여러 문서화 툴을 고민하다 결국 스토리북을 선택하게 되었습니다. 단 한 번만 스토리 파일과 mdx 문서 예제를 작성해 놓고 배포 자동화까지 해놓으니 생각했던 것보다 큰 어려움은 없었고 만족도는 굉장히 높았습니다. 그럼 스토리북의 장점과 사용방법에 대해 소개합니다. 📌 Storybook 장점 🔎 시각적 테스트 백문이 불어일견. 각각의 스토리를 통해 컴포넌트들의 props를 직접 조작하며 시각적으로 확인할 수 있는 환경을 제공합니다. 다양한 상태에서 컴포넌트가.. 2024. 3. 12.
사내 Nexus 저장소에 npm 저장소 구축하고 리액트 패키지 배포 및 설치하기 📒 Nexus npm repository 구축 사내에서 여러 프로젝트들을 진행하며 공통 컴포넌트들을 만들어두고 사용하고 있었습니다. 항상 사용해야 하는 공통 컴포넌트들을 만들어만 두고 그저 파일을 복사 붙여 넣기 하며 조금씩 수정하다 보니 프로젝트가 늘어날수록 감당이 안 됐습니다. 그래서 이 참에 백엔드 팀에서 사용하는 Nexus서버도 이미 있겠다, 여기에 private npm repository를 구축하고 유틸, 공통 컴포넌트, 디자인 시스템을 제대로 패키지화해서 관리해 보기로 다짐했습니다. 그럼 그 험난한 과정의 첫 번째 과정. npm repository 구축과 패키지 빌드 그리고 publish와 install 하는 과정에 대해 설명하겠습니다. Nexus Repository는 소프트웨어 개발에서 사용.. 2024. 1. 24.
react-hook-form + yup + forwardRef()를 이용한 input 컴포넌트 제작하기, 오류해결 📒 react-hook-form를 이용한 Input 컴포넌트 npm i react-hook-form @hookform/resolvers yup react-hook-form은 손쉽게 form을 조작하고 최적화할 수 있도록 도와주는 패키지입니다. 거기에 @hookform/resolvers와 yup을 더하면 손쉽게 validation 처리와 에러메세지를 관리할 수 있습니다. 회사 동료들이 이 조합으로 야무지게 사용하는 것을 보고선 저도 사용할 때만 기다리다, 마침 새로운 프로젝트를 시작하는 김에 바로 도입했습니다. 기획을 대충 보니 input에 중복되는 여러 기능이 있어서 그냥 하나로 기능들을 묶으면 좋겠다 싶어 다음과 비슷한 형태로 컴포넌트를 만들어봤습니다. import { yupResolver } from.. 2024. 1. 23.
yarn berry로 리액트 프로젝트 생성하기, zero-install이란? 📒 yarn berry로 리액트 프로젝트 생성하기 기존 패키지 매니저 대비 yarn berry의 가장 큰 변화 중 하나는 Plug'n'Play (PnP) 기능입니다. PnP는 node_modules 폴더를 사용하지 않고 의존성을 관리합니다. 대신, Yarn은 프로젝트 설정과 의존성 정보를 .pnp.js 파일에 저장하여, Node.js가 필요한 패키지를 직접 찾을 수 있도록 합니다. 설치 속도를 높이고 디스크 공간을 절약하는 yarn berry의 zero-install을 이용하기 위해서 설치 방법과 프로젝트 생성 방법을 알아보겠습니다. 📌 yarn beery 설정 🔎 1. Node.js 설치 Node.js Node.js® is a JavaScript runtime built on Chrome's V8 Ja.. 2024. 1. 18.
떠오르는 차세대 빌드 툴 Vite는 왜 빠른가? 📒 Vite 바이트가 아닌 프랑스어로 “빠른”을 의미하는 비트는 차세대 번들러로서 점차 두각을 나타내고 있습니다. 기존 Webpack을 사용할 때 보였던 답답한 개발서버와 번들링 성능을 엄청나게 끌어올린 것으로 점점 유명세를 타고 있기 때문에 알아보지 않을 수 없겠습니다. 그럼 어떠한 방식으로 개발 서버와 번들링 속도를 끌어올렸는지 알아보겠습니다. 📌 빠른 Cold Start CRA로 생성한 리액트 프로젝트는 기본적으로 Webpack을 탑재하고 있습니다. Webpack은 여러 상황에 유연하게 대처하며 개발 하기는 좋지만 프로젝트의 사이즈가 커질 수록 개발 서버 구동시간이 지루할 정도로 길어지는 단점이 있습니다. 이는 번들러 기반의 개발 서버가 모든 소스 코드에 대해 크롤링 및 빌드 작업을 마쳐야지만 브라.. 2024. 1. 4.
반응형

오픈 채팅