JiSoo's Devlog
[React JS 마스터클래스] State Management 본문
Recoil은 React JS에서 사용할 수 있는 상태관리 라이브러리
npm install recoil
Atom은 상태의 일부를 나타내는데 어떤 컴포넌트에서나 읽고 쓸 수 있다
각각의 atom 안에는 우리가 원하는 어떤 value든 저장할 수 있다
어떤 component에서 어떤 value에 접근하려면 component를 직접 atom에 연결하면 된다
전역 상태를 어플리케이션의 분리된 공간에서 관리하는 것이 훨씬 나은 방법
react-hook-form
npm install react-hook-form
const { register } = useForm();
register 함수를 사용하면 onChange 이벤트, value, useState 모두 필요 없다
<input {...register("toDo")} placeholder="Write a to do" />
register 함수가 반환하는 객체를 가져다가 input에 props로 주는 것
watch는 우리가 form의 입력값들의 변화를 관찰할 수 있게 해주는 함수
handleSubmit은 2개의 인자를 받아 하나는 데이터가 유효할 때 호출되고 다른 하나는 데이터가 유효하지 않을 때 호출되는 함수
useRecoilState
첫 요소가 상태 값, 두 번째 요소가 호출되었을 때 주어진 값을 업데이트하는 setter 함수인 튜플 리턴
암묵적으로 주어진 상태에 컴포넌트를 구독한다
useRecoilValue: state값을 리턴
useSetRecoilState: setter 함수를 리턴
useRecoilState: state, setter 함수를 모두 리턴
findIndex() 메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스 반환
만족하는 요소가 없으면 -1 반환
Enums
열거형으로 이름이 있는 상수들의 집합 정의 가능
TypeScript는 숫자와 문자열 기반 열거형을 제공한다
// 숫자 열거형 (Numeric enums)
enum Direction {
Up = 1,
Down,
Left,
Right,
}
// 문자열 열거형 (String enums)
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}
'Frontend > React' 카테고리의 다른 글
[모던 리액트 Deep Dive] 2장 (2) | 2024.04.27 |
---|---|
[모던 리액트 Deep Dive] 1장 (0) | 2024.04.08 |
[React JS 마스터클래스] Cryto Tracker (0) | 2024.02.28 |
[React JS 마스터클래스] TypeScript (0) | 2024.02.13 |
[React JS 마스터클래스] Styled Components (0) | 2024.02.12 |