////////
Search

ย Case 2: ๊ณ„์‚ฐ์„ ์กฐํ•ฉ(Composition)ํ•˜๊ธฐ

์ƒ์„ฑ์ผ
2025/09/07 11:22
ํƒœ๊ทธ
โ€ข
๋ฌธ์ œ: ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌ
โ€ข
ํ•ด๊ฒฐ: ์ž‘์€ ๊ณ„์‚ฐ๋“ค์„ ์กฐํ•ฉ
// โŒ Before: ๋ณ€ํ™˜ ๋กœ์ง์ด ์•ก์…˜์— ์„ž์ž„ function DisplayOrders({ userId }) { const [orders, setOrders] = useState([]) useEffect(() => { fetch(`/api/orders/${userId}`) .then(res => res.json()) .then(data => { // ๋ณต์žกํ•œ ๋ณ€ํ™˜์ด ์•ก์…˜ ์ฝœ๋ฐฑ ์•ˆ์— const filtered = data.filter(o => o.status !== 'cancelled') const sorted = filtered.sort((a, b) => b.date - a.date) const grouped = {} for (const order of sorted) { const month = order.date.substring(0, 7) if (!grouped[month]) grouped[month] = [] grouped[month].push(order) } setOrders(grouped) }) }, [userId]) }
JavaScript
๋ณต์‚ฌ