Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
Tags
- langgraph
- langchain react agent
- expo 아이폰
- jotai
- AI
- 스프링 공부
- 타입스크립트상태관리
- expo 안드로이드
- expo 51 버전
- expo go 오류
- 리액트 네이티브
- nestjs시큐리티
- langchain
- langchain tools
- 리액트 네이티브 오류
- langgraph mcp
- VectorDB
- expo 51 오류
- 자바공부
- 상태관리
- expo 아이폰 오류
- rnn gnsfus
- 네스트시큐리티
- react
- expo 버전 오류
- comfyui
- 이미지처리
- 크로마DB
- 랭체인 툴
- vllmmcp
Archives
- Today
- Total
영리의 테크블로그
nest.js + react (jotai) 개발 [1] - jotai 에 대해.. 본문
Jotai가 뭔데?
일단 Jotai는 React 상태관리 라이브러리임.
이름이 일본어로 '상태'라는 뜻
심플하고 직관적인거 같음.
사용 영상
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
기본 사용법
import { atom, useAtom } from 'jotai';
const textAtom = atom('안녕하세요'); // 초기값 설정
function Component() {
const [text, setText] = useAtom(textAtom);
// useState랑 비슷하게 생겼지?
}
useState랑 뭐가 다른데?
처음에는 그냥 useState랑 비슷하네? 했는데 완전 다름.
제일 큰 차이점은 전역 상태 관리가 가능
예를 들어서:
- useState는 컴포넌트 안에서만 씀
- Jotai는 여러 컴포넌트에서 같은 상태 공유 가능
// atoms/themeAtom.ts
const isDarkAtom = atom(false);
// components/Header.tsx
function Header() {
const [isDark] = useAtom(isDarkAtom);
// 여기서 다크모드 상태 사용
}
// components/Footer.tsx
function Footer() {
const [isDark] = useAtom(isDarkAtom);
// 여기서도 같은 상태 사용 가능!
}
언제 써야 할까?
모든 걸 Jotai로 하면 안 됨 중요
Jotai 쓰기 좋은 경우:
- 여러 컴포넌트에서 같이 쓰는 상태 (다크모드, 로그인 정보 등)
- 복잡한 상태 로직이 필요할 때
- props로 계속 넘기기 귀찮은 경우 (props drilling 피하기)
그냥 useState 쓰는게 나은 경우:
- 컴포넌트 안에서만 쓰는 임시 상태
- 간단한 토글이나 폼 입력값
- 모달 열고 닫기같은 UI 상태
Jotai의 더 고급 기능들 (비동기 처리, 파생 상태 등) 공부해봐야겠음.
'dev > nest+jotai' 카테고리의 다른 글
| nest.js + react (jotai) 개발 [0] - nest.js 시큐리티 설정하기 (1) | 2024.11.19 |
|---|