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
- css
- height속성
- 자식결합자
- Live Server
- RGB
- Checked 의사 클래스
- go live
- iframe
- RGBA
- sup태그
- 일반 형제 결합자
- 임베디드
- html 태그
- br 태그
- background-color 속성
- focus 의사클래스
- 전체 선택자
- html
- sub태그
- i 태그
- reveal in file explorer
- not 의사클래스
- width속성
- id 선택자
- 아두이노
- padding 속성
- iframe 태그
- tag html
- 인접 형제 결합자
- html tag i
Archives
- Today
- Total
so woon!
[REACT] useRecoilState 사용하기 본문
학습일 : 2023. 04. 18
useRecoilState 사용하기
useRecoilValue, useSetRecoilState 이렇게 두개의 함수를 따로 쓰는 것 보다
새 배열을 만들고 useRecoilState 함수를 사용해보도록 하자.
() 안에는 역시나 atom을 넣어주면 된다.
꼴이 useState랑 똑같다.
value만 불러오고 싶을 때는 useRecoilValue를 사용,
value를 바꾸고 싶으면 useSetRecoilState를 사용,
value와 modifier 함수를 둘다 얻고 싶다면 useRecoilState를 사용하면 되는 것이다.
사용법은 이러하다.
const value = useRecoilValue(toDoState);
const modFn = useSetRecoilState(toDoState);
const [value, modFn] = useRecoilState(toDoState);
toDo state를 생성한다. recoil의 atom 함수를 이용해야 함
import { atom } from "recoil"; 해주고
atom() 은 고유한 키가 필요하기 때문에 key : "" 를 적어줌
또한 default value를 가지고 있는데, 기본값은 일단 빈 배열로 설정하겠다.
atom 값에 접근하려면 전에도 했다시피, useRecoilValue 함수를 이용하면 된다.
import { useForm } from "react-hook-form";
import { atom, useRecoilState, useRecoilValue, useSetRecoilState } from "recoil";
// toDoState를 생성
const toDoState = atom({
key: "toDo",
default: [],
});
interface IForm {
toDo: string;
}
function ToDoList() {
// useRecoilState
const [value, modFn] = useRecoilState(toDoState);
const { register, handleSubmit, setValue } = useForm<IForm>();
const handleValid = (data: IForm) => {
console.log("add to do", data.toDo);
setValue("toDo", "");
};
return (
<div>
<h1>Thorn To Do</h1>
<hr />
<form onSubmit={handleSubmit(handleValid)}>
<input
{...register("toDo", {
required: "please write a to do",
})}
placeholder="오늘 해야할 일을 입력하세요"
/>
<button>add</button>
</form>
<ul></ul>
</div>
);
}
export default ToDoList;
'ReactJS > 개념정리' 카테고리의 다른 글
[REACT] Refactoring (0) | 2023.04.19 |
---|---|
[REACT] todolist 만들기 (0) | 2023.04.18 |
[REACT] React Hook Form - setValue 사용하기 (0) | 2023.04.18 |
[REACT] React Hook Form - validate 옵션 사용하기 (0) | 2023.04.17 |
[REACT] React Hook Form - setError (새로운 에러를 만드는 법) (1) | 2023.04.17 |
Comments