์ด์ ํ ์์ผ๊ณผ ์ผ์์ผ์ ์์์ ๋ฃ์ด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
ํ๋ฉด์์ 7์ ๋ฌ๋ ฅ์ด ๊ทธ๋ ค์ง ๋ชจ์ต์์ ์์์ ๋ฃ์ด์ค ๋ ์ง๋ฅผ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
7์ ํ ์์ผ: 3 ,10, 17, 24, 31
7์ ์ผ์์ผ: 4, 11, 18, 25
๊ทธ๋ฆฌ๊ณ console.log(dates);
๋ก ํ์ฌ ๊ทธ๋ ค์ง๋ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
ํ ์์ผ๊ณผ ์ผ์์ผ์ด ๊ฐ์ง๋ ๊ณตํต์ ์ ์ฐพ์ ์ ์์ต๋๋ค.
ํ ์์ผ โก๏ธ { day: 6 }
์ผ์์ผ โก๏ธ { day: 0 }
๊ณตํต์ ์ ์ฐพ์์ผ๋ ์กฐ๊ฑด๋ฌธ์ ๋ง๋ค์ด์ ํ ์์ผ(ํธ๋ฅธ์), ์ผ์์ผ(๋ถ์์)์ ์์์ ๋ฃ์ด์ฃผ๋ ํจ์๋ฅผ ๋ง๋ค์ด ์ฃผ๊ฒ ์ต๋๋ค.
์ ๋ colors ํ์ผ์ ๋ง๋ค์ด์ ์์์ importํด์ ์ฌ์ฉํ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ด dateColorStyle()
ํจ์๋ฅผ ๋ง๋ค์ด ์ฃผ์์ต๋๋ค.
import colors from '../style/colors';
const BasicColor = {
color: `${colors.gray_text}`,
};
const SaturdayColor = {
color: `${colors.blue_text}`,
};
const SundayColor = {
color: `${colors.red_text}`,
};
export default function CalendarDate({ date, day }) {
function dateColorStyle() {
if (day === 6) {
return SaturdayColor;
}
if (day === 0) {
return SundayColor;
}
return BasicColor;
}
return (
<div style={dateColorStyle()}>
{date}
</div>
);
}
๋น์ฐํ ๊ฒฐ๊ณผ์
๋๋ค. ์กฐ๊ฑด๋ฌธ์ ์๋์ ๊ฐ์ด ์ฃผ์๊ธฐ ๋๋ฌธ์
๋๋ค.
6์ ๋ฐ์ดํฐ์ 7์ ๋ฐ์ดํฐ๊ฐ ํจ๊ป ๊ทธ๋ ค์ง๊ธฐ ๋๋ฌธ์
๋๋ค.
ํ์ํ ์กฐ๊ฑด์ด ํ๋ ๋ ์์ต๋๋ค.
6์ โก๏ธ { month: 6 }
7์ โก๏ธ { month: 7 }
์์์ month์ ๋ํ ์กฐ๊ฑด์ ์ถ๊ฐํด์ค์ผ ํ๋๋ฐ ๋น๊ต๋ฅผ ํ๋ ค๋ฉด ๊ธฐ์ค์ด ํ์ํฉ๋๋ค.
ํ์ฌ ๋ณด์ฌ์ง๋ ๋ฌ๋ ฅ์ month์ ๊ฐ์ ๋ฐ์ดํฐ๋ง ์ฐพ์์ฃผ๋ฉด ๋๊ฒ ์ฃ ?
์ด๋ฌ๋ผ๊ณ ๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋๋ค.
๋ฆฌ๋์ค์ ์ ์ฅ๋์ด ์๋ month๋ฅผ ๊ฐ์ง๊ณ ์ค๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ currentMonth
๋ผ๋ ๋ณ์๋ฅผ ๋ง๋ค์ด ์ค ๋ค์ ์๋์ ๊ฐ์ด ์กฐ๊ฑด๋ฌธ์ ์ถ๊ฐํด๋ณด๊ฒ ์ต๋๋ค.
์๋์ ๊ฐ์ด ์ํ๋ ๋ชจ์ต์ผ๋ก ์ ๊ทธ๋ ค์ก์ต๋๋ค.
์ถ๊ฐ๋ก ์ด์ ๋ฌ ์ซ์๋ฅผ ํ๋ฆฌ๊ฒ ํด์ฃผ๋ฉด ๊ทธ๋ด์ธํ ๋ฌ๋ ฅ์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ ๋ค์์ผ๋ก ์ด์ ๋ฌ๊ณผ ๋ค์ ๋ฌ ์์์ ํ๋ฆฌ๊ฒ ํํ์ฃผ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด์ ์ ๋ง๋ค์ด ์ค ํจ์์ ๋ก์ง์ ์ถ๊ฐํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์์์ ํ ๋ฒ ํด๋ดค์ผ๋ ์ด์ ๋ ์ฝ๊ฒ ํ ์ ์๊ฒ ์ฃ ?
๋ง์ฐฌ๊ฐ์ง๋ก ์๋์ ๊ฐ์ด ์์์ ๋ง๋ค์ด์ฃผ๊ณ ,
์๋์ ๊ฐ์ด ์กฐ๊ฑด๋ฌธ์ ์ถ๊ฐํด์ฃผ๋ฉด ๋ฉ๋๋ค.
๋๋์ด ๋ฌ๋ ฅ์ด ์์ฑ๋์์ต๋๋ค ๐ ๐ ๐ ๐ ๐
๋ง์ง๋ง์ผ๋ก ์ค๋ ๋ ์ง๋ฅผ ํ์ํด์ฃผ๋ ๊ธฐ๋ฅ๋ ๋ฃ์ด์ฃผ๋ฉด ์๋ฒฝํ ๊ฒ ๊ฐ์ต๋๋ค.
Today(์ด๋ก๊ณ์ด) ์์๋ฅผ ์๋์ ๊ฐ์ด ๋ง๋ค์ด ์ฃผ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ Date ๊ฐ์ฒด๋ฅผ ํ์ฉํด์ ํ์ฌ ๋ ์ง๋ฅผ ์ฐพ์์ฃผ๋ ์กฐ๊ฑด๋ฌธ์ ๋ง๋ค์์ต๋๋ค.
์๋์ ๊ฐ์ด ์ค๋(today = 2021/08/25)์ด ์ ๊ทธ๋ ค์ง๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
โ ๋ถ๋ณ์ฑ ๊นจํธ๋ฆฌ์ง ์๊ณ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฆฌํดํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ ํ์!
โก ์ค๋ ๋ ์ง๊ฐ ์ฃผ๋ง์ด๋ฉด ์๊น์ด ๋ณํ์ง ์๋ ๋ฌธ์ ์ ๋ฐ๊ฒฌ
โข ํ์ฌ ๋ฌ ์์์ผ์ด ์ผ์์ผ์ด๋ฉด ์ด์ ๋ฌ ๋ฐ์ดํฐ๋ ํ์ํ์ง ์์