
๐ Prisma Prisma๋ Node.js์ Typescript์ ORM(Object Relational Mapping)์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ํน์ ํ์ ์คํฌ๋ฆฝํธ ์ฝ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ด์ ๋ค๋ฆฌ๋ฅผ ๋์์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. SQL ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ฅผ ์์ฑํ์ง ์๊ณ
์ผ๋ฐ์ ์ผ๋ก form ์์ฑํ๊ธฐ ๋ณดํต์ ์ผ๋ฐ์ ์ผ๋ก form์ ์์ฑํ๋ค๊ณ ํด๋ณด์. ๊ฐ๊ฐ์ ์ธํ๋ง๋ค state๋ฅผ ๋ง๋ค์ด ๊ด๋ฆฌํด์ผ ํ๊ณ , ํธ๋ค๋ฌ๋ ์์ฑํด์ผ ํ๋๋ฐ ํนํ ๋ฐธ๋ฆฌ๋ฐ์ด์ ์ด ์์ฒญ๋๊ฒ ๋ง์์ง๋ค. ^^... โ React-hook-form ๐ 1. ์ ์ ์ฝ๋(Less
NextJS์์๋ /pages/api ํด๋ ๋ด์ ๋ชจ๋ ํ์ผ์ด /api/\*์ ๋งคํ๋๋ฉฐ ํ์ด์ง ๋์ API ์๋ํฌ์ธํธ๋ก ์ฒ๋ฆฌ๋๋ค. ์ด๋ ์๋ฒ ์ธก ์ ์ฉ ๋ฒ๋ค์ด๋ฉฐ ํด๋ผ์ด์ธํธ ์ธก ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ์ง ์๋๋ค.NextJS์์ API Route๋ฅผ ์๋ํ๋ ค๋ฉด req, res๋ฅผ ๋งค๊ฐ๋ณ

Prisma Client API ์ฌ์ฉํ์ฌ User DB์์ email/phone์ผ๋ก user ์ฐพ๊ฑฐ๋ ์์ฑํ๊ณ , ์ธ์ฆ ํ ํฐ์ ์์ฑํด๋ณด์.

์ฌ์ฉ์ ์ธ์ฆ: ๋ฉ์ผ๋ก ์ธ์ฆํ ํฐ ๋ณด๋ด๊ธฐ(๋ค์ด๋ฒ, nodemailer)
ํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ useSWR()์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์๋ฒ ์ฌ์ด๋์์ NextJS๊ฐ ์ ๊ณตํ๋ ํจ์๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์useSWR("/api/products")๋ก api ๊ฒฝ๋ก์ ์์ฒญ์ ๋ณด๋ธ๋ค.api ํธ๋ค๋ฌ์์ ํ๋ฆฌ์ฆ๋ง ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต
profile ํ์ด์ง๋ ์๋ฒ ์ฌ์ด๋์์ ๋ ๋๋งํด๋ณด์!๋ฐฉ๋ฒ์ ๋์ผํ๋ค.๊ธฐ๋ณธ ๋ด๋ณด๋ด๊ธฐํ ์ปดํฌ๋ํธ๋ง getServerSideProps ํจ์ ์คํ ์ ๋ฐ์ดํฐ๋ฅผ props์ผ๋ก ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ props๋ฅผ ๋ฐ์ ์ปดํฌ๋ํธ๋ฅผ export default ํด์ผ ํ๋ค.๋ง์ฐฌ๊ฐ์ง

React error #425, #418, #423