Frontend/TypeScript3 TypeScript에서 zustand persist 사용하여 전역 상태 저장하기 개요타입스크립트, 리액트를 사용하여 팀 프로젝트를 하던 중...전역 상태로 로그인 상태를 관리하면서 새로고침 후에도 상태를 유지해야해서 zustand persist를 사용하기로 했다.redux persist 처럼 zustand도 persist middleware를 사용하면 간단하게 로컬 스토리지에 상태값을 저장할 수 있다. zustand persist 사용법공식 문서에 나와있는 simple example import { create } from 'zustand'import { persist, createJSONStorage } from 'zustand/middleware'export const useBearStore = create( persist( (set, get) => ({ bea.. 2024. 5. 15. [TypeScript] as const로 타입스크립트 에러 해결하기 문제 상황 Type ~ is not assignable to type 'MouseEventHandler | undefined'. Type ~ is not assignable to type 'MouseEventHandler'. 해석을 해보자면, button 에 onClick 핸들러로 setTheme을 해줬는데, setTheme의 타입이 Theme('light' | 'dark') 혹은 () => void이기 때문에 마우스 이벤트 핸들러에 등록할 수 없다는 것이다. useThemeMode라는 커스텀 hook에서 return 할 때의 theme과 setTheme의 타입을 확인해보았다. 제대로 설정이 되어있는데 왜 다크모드버튼 컴포넌트에만 가면 타입이 요상해지는 걸까? 해결 과정 구글에 custom hook ty.. 2024. 2. 5. [TypeScript] Node.js 환경에서 타입 스크립트 파일 실행하기 노드에서 타입 스크립트 파일 실행하기 npm install -g ts-node ts-node 파일명.ts -g 전역 설치 때문에 에러 발생한 경우 sudo 명령어를 붙여 관리자 권한으로 설치. sudo npm install -g ts-node 패스워드는 맥의 패스워드 입력. (보이지 않아도 타이핑 되고 있는 것) ✔️ MAC의 sudo 란? (pseudo가 아니었..😆) superuser do 라는 뜻으로 내가 관리자니까 그렇게 해! 내 말 들어! 이런 뜻인 것 같다. 만약 관리자가 아닌 다른 사용자인 상태에서 sudo 어쩌구를 실행하면 에러가 난다. 다른 사용자로 로그인 한 상태에서 관리자 권한이 필요한 경우 관리자가 아닌 다른 사용자로 로그인 한 상태에서 관리자 권한이 필요하다면 먼저 터미널에 su .. 2023. 11. 6. 이전 1 다음