React 12

[craco.js] babel-plugin-styled-components 적용하기

const craco.js에서 babel-plugin-styled-components 적용하기 = ( Param ) => {💻 return Result;// craco.config.js// eslint-disable-next-line no-undefmodule.exports = { plugins: [ // craco를 통한 절대 경로 설정 등 webpack에 적용할 플러그인 정의 // ... ], babel: { plugins: [ // styled-components 플러그인 추가 [ 'babel-plugin-styled-components', { // eslint-disable-next-line no-undef ..

DEV/DevelopSystem 2025.01.28

[React.js] React-Table getGroupedRowModel() 오류

const React-Table getGroupedRowModel() 오류 = ( Param ) => {💻 return Result;// useReactTable Hook 선언const table = useReactTable({ ... getGroupedRowModel: getGroupedRowModel(), // getGroupedRowModel가 마지막으로 setPagination을 호출하기 때문에 콘솔창에 오류가 발생함 // 따라서 아래와 같이 setPagination을 호출하지 않도록 하면 오류가 사라짐 onPaginationChange: () => undefined, ...}); 출처: https://github.com/TanStack/table/issues/5..

DEV/WebProgramming 2024.09.18

[React.js] 빌드 후 환경변수 수정

const 빌드 후 환경변수 수정 = ( Param ) => {💻 return Result;env.js 파일 생성// public/env.js// 전역에 선언되기 때문에 window 객체를 통해 참조할 수 있음export const env = {    ...import.meta.env, // vite 환경변수 값    ...window["env"], // 전역에 저장된 이전 환경변수 값 // 필요 환경 변수 정의 BASE_URL: "http://localhost:3000"}; index.html에서 script 태그를 통해 env.js 선언  env.js의 환경변수 적용//App.jsximport env from "../public/env"...return ( {env.BASE_URL} {env...

DEV/WebProgramming 2024.07.12

[React.js] Viewport와 동적으로 meta 태그 수정하기

많이 부족했지만 웹 애플리케이션 기능을 모두 구현한 후에 모바일에 대응하는 작업을 했습니다. 다른 일반적인 기능 페이지의 경우 미디어 쿼리를 사용하여 반응형으로 쉽게 구현할 수 있었습니다. 🤔 크기가 고정된 문서를 어떻게 한눈에 보여줄까? 문제는 다른 프로젝트에서 문서와 관련된 기능을 현재 프로젝트에 옮겨 사용 중에 있었는데 해당 문서는 크기가 cm로 지정되어 있어 모바일에서 보기엔 맞지 않는 큰 크기였습니다. 당장 떠오르는 해결방식은 크게 두 가지였습니다. 페이지 크기를 수정하여 적용하는 방식 문서의 스케일을 줄이는 방식 페이지 크기를 수정하는 방식은 이미 잘 구성되어 있는 문서를 각 부분 다시 크기를 수정하고 맞춰야 하기 때문에 시간상 불가능할 것이라 판단했습니다. 그래서 문서의 스케일을 줄이는 방식..

DEV/WebProgramming 2023.01.31

[TypeScript] TypeScript란, React에 적용하기

기존 emotion-diary 프로젝트를 적용해보려 했지만 TypeScript가 익숙하지 않고 완성된 프로젝트에 적용하기엔 힘들다고 판단하여 새로운 프로젝트를 만들며 처음부터 적용해보려 한다. 목차 0. TypeScript란 1. TypeScript 적용 2. TypeScript 사용하기 TypeScript란 // 예시 (코딩앙마 Typescript #1 영상 중) // 기존 javascript 실행시 function add(num1, num2){ console.log(num1 + num2); } add();// NaN add(1);// NaN add(1,2);// 3 add(3,4,5);// 7 add("hello", "world");// "helloworld" // typescript 적용 funct..

DEV/WebProgramming 2022.07.28

[React] Index.html 파일 수정하기

인프런, 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지의 내용 중 Index.html 파일 수정에 대한 내용을 정리한다. 목차 1. // 페이지마다 제목을 수정할 경우 각 페이지에서 아래와 같이 설정 useEffect(() => { const titleElement = document.getElementsByTagName("title")[0]; titleElement.innerHTML = `페이지 제목`; }, []); Open Graph 설정하기 프로젝트의 링크를 입력했을 때 사이트에 대한 간략한 썸네일과 제목, 설명을 Open Graph를 통해 설정할 수 있다. Open Graph를 설정하거나 수정 후 반영되지 않을 때는 Open Graph 캐시를 초기화해야한다.ㅁ 프로젝트 마..

DEV/WebProgramming 2022.07.14

[React] 프로젝트 빌드 및 배포

인프런, 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지의 내용 중 프로젝트 빌드 및 배포에 대해 내용을 정리한다. 목차 1. 프로젝트 빌드하기 2. Firebase를 이용하여 배포하기 프로젝트 빌드하기 프로젝트 배포에 앞서 프로젝트에서 필요한 파일을 추리고 파일 내용의 각종 공백을 삭제함으로써 용량을 줄여 압축하는 빌드 작업이 필요하다. pakage.json 파일에서 스크립트에 build 명령어가 존재한다. 해당 명령어를 통해 프로젝트를 빌드한다. serve 명령어를 통해 로컬에 배포하여 테스트가 가능하다. serve 명령어는 기본적으로 설치되어 있지 않기 때문에 글로벌 플래그를 사용하여 설치한다. 만약 배포된 파일에서 수정이 필요하다면 프로젝트 수정 후 다시 빌드하여 배포한다. ..

DEV/WebProgramming 2022.07.12