React 5

[React] useEffect 초기렌더링시 함수실행 막기

useEffect 초기렌더링시 함수를 막을려면 아래의 커스텀 훅을 사용하면 된다. import React, { useEffect, useRef } from 'react'; const useDidMountEffect = (func, deps) => { const didMount = useRef(false); useEffect(() => { if (didMount.current) func(); else didMount.current = true; }, deps); } export default useDidMountEffect; 해당 커스텀훅 사용방법은 import React, { useState, useEffect } from 'react'; import useDidMountEffect from '../pa..

React 2023.02.26

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/tokenize' is not defined by "exports" in /package.json

리액트 프로젝트를 클론받고 실행했을때 해당 에러가 떳다. 필자는 node 버전을 16으로 다운그레이드 하고 해결했다. MAC OS - node 버전 다운그레이드 하기 현재 노드 버전 확인 node -v 사용가능한 노드버전 확인하기 brew search node 현재 버전 연결 해제하기 brew unlink node 노드 16버전 설치 brew install node@16 노드 16버전 연결하기 brew link node@16 상단 노드 설치 및 연결이 정상적으로 안된다면 환경설정 파일에 (~/.zshrc) 에 path를 추가해준다. echo 'export PATH="/opt/homebrew/opt/node@16/bin:$PATH"' 태클은 언제나 환영입니다. 잘못된 정보가 있으면 언제든 알려주세요 :)

React 2022.11.22

React 프로젝트에 emailjs 적용하기

개인 포트폴리오나 회사 사이트에 이메일을 보내는 폼양식 페이지를 본적이 있을것이다. 이메일 보내는 폼을 emailjs 라는 라이브러리를 통해 리액트 프로젝트에 적용시켜보고자 한다. 먼저 https://www.emailjs.com/ 에 접속 한다. 회원가입을 한후 리액트 프로젝트에 yarn add @emailjs/browser npm install @emailjs/browser --save emailjs 라이브러리를 설치 해준다. 다시 아까 회원가입한 계정으로 email js 로그인 후 왼쪽 사이드 메뉴바에 위치한 Email Services 를 클릭해서 들어간다. Add New Service 를 클릭해 서비스를 등록해준다. 서비스 추가를 완료 하게 되면 아래 이미지처럼 나온다. ServiceId 를 기억해..

React 2022.10.30