1. ๊ฐ์๋
์ํ ๋ณ์๊ฐ ์ถ๊ฐ๋์๋ค.
์ํ ๋ณ์๋ renderItem ์ on Press ์ ์ด์ฉํด
์ฌ์ฉ์๊ฐ ํน์ ๋ ์ง ๋๋ฅผ ๋ ๋ง๋ค ์ํ ๋ณ์๊ฐ ์ต์ ํ ๋๋๋ก ์ธํ ํ๋ค.
์ด๋ ๊ฒ ์ธํ ๋ ์ํ๋ณ์๋ ์ด 3๊ฐ์ง์์ ์ฐ์ธ๋ค.
๋จผ์ ๋ฌ๋ ฅ์ ๋ค์ด๊ฐ dayjs ๋ณ์๋ค์ ๋ฐฐ์ด๋ก ๋๋ ค์ฃผ๋ utill.js์ ์ด์ now(ํ์ฌ์๊ฐ)์ ์ ๋ฃ๊ณ , ํด๋น ์ํ ๋ณ์๋ฅผ ๋ฃ๋๋ค.
์ด๋ ๊ฒ ๋๋ฉด ์ฌ์ฉ์๊ฐ ๋ฌ๋ ฅ ๋ด ์ ์์ด๋ ๋ด์์ ๋ ์ง๋ฅผ ํด๋ฆญ ํ์ ์ ๊ทธ ๋ ์ง์ ๋ฌ๋ก ๋์ด๊ฐ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋๋ค.
์๋ํ๋ฉด ๋๋ฌ์ง ๋ ์ง๊ฐ ์ํ ๋ฌ์ ๊ธฐ์ค์ผ๋ก ๋ฌ๋ ฅ์ ๋ค์ด๊ฐ ๊ฐ์ ๋ฐฐ์ด์ ๋ค์ ๋ฝ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ ๋ฒ์งธ๋ก renderItem์์ ์ฐ์ธ๋ค.
onPress๋ฅผ ๋๋ฅด๋ฉด ์ํ๋ณ์๊ฐ ํด๋น ๋ ์ง๋ก ์ธํ ๋๋ค.
isSelected๋ผ๋ ๋ณ์์์ ์ํ ๋ณ์๊ฐ ์ด์ฉ๋๋๋ฐ, ๋ฐฐ์ด์ ์์(๋ ์ง)์ ์ํ๋ณ์์ ๋ ์ง๊ฐ ๊ฐ์์ง ์ฒดํฌํ๋ค.
๊ฐ์ผ๋ฉด true, ์๋๋ฉด false ์ด๋ค. ์ด๋ Columns ์์ true์ผ ๊ฒฝ์ฐ ํด๋น ๋ ์ง ์์์ ์๊น์ด ๋ฐ๋๋๋ก ํ๊ธฐ ์ํด ์ฐ์ธ๋ค.
์ธ๋ฒ์งธ๋ Header ๋ถ๋ถ์์ ์ฐ์ด๊ณ
๋ฌ๋ ฅ ๋งจ ์ ์๋จ์ ๋ณด์ด๋ YYYY.MM.DD ๋ถ๋ถ์ด ๋ ์ง ๋๋ฅผ ๋๋ง๋ค ๋ฐ๋๊ธฐ ์ํด ์ฐ์ธ๋ค.
๋ ์ง ๋๋ฅด๋ฉด ํด๋น ๊ฐ์ผ๋ก ์ํ๋ณ์๊ฐ ๋ฐ๋์์ผ๋ ์ํ ๋ณ์๋ง ๊ฐ์ ธ์ค๋ฉด ๋๋ค.
Columns ์ปดํฌ๋ํธ์ disabled์ onPress ์ถ๊ฐ
disabled๋ TouchableOpacity์ ๊ณ ์ ์์ฑ์ผ๋ก ํด๋ฆญํ ์ ์๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค.
์,ํ ๋ ํด๋ฆญ ์ํด๋ ๋๋ฏ๋ก ํด๋น ๋ณ์๋ฅผ ์ฌ์ฉํด ์กฐ์ ํ๋ค.
Onpress๋ ๋ ์ง ๋ถ๋ถ์์๋ง ํ์ํ๋ค.
App.js์ ํ๊ทธ์์ ํด๋น ์์ฑ์ ์ ์ด์ฃผ์ง ์์ผ๋ฉด, ์๋์ผ๋ก ์ธ์๋ก undifned๊ฐ ๋ค์ด๊ฐ์ ์ด์ฉํ์ฌ
๋ ์ง ๋ถ๋ถ์ Column์์๋ disabled๋ฅผ ๋ฐ๋ก ์ ์ด์ฃผ์ง ์๊ณ , ์~ ํ ๊ธ์ ๋ถ๋ถ์์๋ OnPress๋ฅผ ๋ฐ๋ก ์ ์ด์ฃผ์ง ์์๋ ๋๋ค.
2. ์ค์ค๋ก ํด๋ณด๊ธฐ
์๋ ์ํ๋ฉด ํ๊ทธ ๋ถ๋ถ์ ์ธ์๋ฅผ ์ ๋๋ก ๋ฐ์๋์ง ํ์ธํด๋ณด๊ธฐ
๊ทธ๊ฒ ๋ง๊ณ ๋ ์ค๋ฌด์คํ๊ฒ ๊ตฌํํ๋ค.