매우 간단한 상태관리 라이브러리
// app/recoil/atoms.ts
import { atom } from "recoil";
export const userState = atom<{
email: string;
name: string;
}>({
key: "userState",
default: {
email: "",
name: "",
},
});
// config/RecoilProvider
"use client";
import { RecoilRoot } from "recoil";
export default function RecoilProvider({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return <RecoilRoot>{children}</RecoilRoot>;
}
"use client";
import { userState } from "@/app/recoil/atoms";
import Link from "next/link";
import { useRecoilState } from "recoil";
export default function UserUpdatePage() {
const [user, setUser] = useRecoilState(userState);
return (
<div>
<h1>UserUpdatePage</h1>
<input
type="email"
placeholder="Enter your Email"
value={user.email}
onChange={(e) =>
setUser((prev) => ({ ...prev, email: e.target.value }))
}
/>
<input
type="name"
placeholder="Enter your Name"
value={user.name}
onChange={(e) => setUser((prev) => ({ ...prev, name: e.target.value }))}
/>
<Link href="/users/updated-user">Check Updated Result</Link>
</div>
);
}
"use client";
import { userState } from "@/app/recoil/atoms";
import { useRecoilValue } from "recoil";
export default function UpdatedUserPage() {
const user = useRecoilValue(userState);
return (
<div>
<h1>Updated User Page</h1>
<div>Updated User Name : {user.email}</div>
<div>Updated User Enail : {user.name}</div>
</div>
);
}
zustand를 사용하여 store를 만들 때 ModalStore로 파스칼케이스 사용
운동을 가니 친구가 오늘은 힘이 나지 않는다며 하기 싫다고 했지만 이왕 온거 그냥 하고 가자고...
더 열심히 해도 부족하다