\
[Framer-motion] motion/react vs motion/react-client ๋น„๊ต
ยท
๐Ÿ“š STUDY/WEB
Next.js App Router์—์„œ Motion์„ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค.// ์ผ๋ฐ˜์ ์ธ ๋ฐฉ์‹"use client";import { motion } from "motion/react";// React Server Components ํ™˜๊ฒฝimport * as motion from "motion/react-client";๋‘˜์˜ ์ฐจ์ด๋Š” ๋‹จ์ˆœํžˆ import ๊ฒฝ๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์–ด๋А ๋ Œ๋”๋ง ๊ฒฝ๊ณ„์— ๋ฐฐ์น˜๋˜๋Š”์ง€, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์—์„œ ์–ด๋–ค ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๋Š”์ง€, ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „๋‹ฌ๋˜๋Š” JavaScript์˜ ๋ฒ”์œ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์ง€๋Š”์ง€์— ์žˆ๋‹ค.1. motion/reactmotion/react๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Motion์„ ์‚ฌ์šฉํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์— "use client"๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค."use client";impo..
[JavaScript] JavaScript๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์›๋ฆฌ - ๊ธฐ๋ณธํŽธ
ยท
๐Ÿ“š STUDY/WEB
๋“ค์–ด๊ฐ€๋ฉฐ"ํ˜ธ์ด์ŠคํŒ…์ด ์™œ ์ผ์–ด๋‚ ๊นŒ?", "์Šค์ฝ”ํ”„ ์ฒด์ธ์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?", "this๋Š” ์™œ ์ƒํ™ฉ๋งˆ๋‹ค ๋‹ฌ๋ผ์งˆ๊นŒ?" JavaScript๋ฅผ ๊ณต๋ถ€ํ•ด๋ดค๋‹ค๋ฉด, ์ด ์งˆ๋ฌธ๋“ค์€ ํ•œ ๋ฒˆ์ฏค ์ƒ๊ฐํ•ด๋ณด์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์„ธ ๊ฐ€์ง€๋Š” ๋”ฐ๋กœ ์™ธ์›Œ์•ผ ํ•  ๋ณ„๊ฐœ์˜ ๊ทœ์น™์ด ์•„๋‹Œ, ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ผ๋Š” ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋ฉด ์ „๋ถ€ ๊ฐ™์€ ์›๋ฆฌ๋กœ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค.์ด ๊ธ€์—์„œ๋Š” ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๋‚ด๋ถ€์— ๋ฌด์—‡์„ ๋‹ด๊ณ  ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ถœ ์Šคํƒ์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.์ปจํ…์ŠคํŠธ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์•ž์„œ, ์ปจํ…์ŠคํŠธ๋ž€ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.์ปจํ…์ŠคํŠธ(Context)๋ž€ ์ƒํ™ฉ, ๋งฅ๋ฝ, ๋ฌธ๋งฅ ์ƒ์˜ ์˜๋ฏธ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐœ๋ฐœ์ž๋‹ต๊ฒŒ ํ•ด์„ํ•ด๋ณด๋ฉด, ํ…์ŠคํŠธ์˜ ๋‚ด์šฉ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ…์ŠคํŠธ๊ฐ€ ์‚ฌ์šฉ๋œ ์ƒํ™ฉ, ์ด์ „ ๋ฌธ๋งฅ, ์ดํ›„ ๋งฅ๋ฝ ๋“ฑ์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ฌถ์Œ์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค..