230907(๋ชฉ)
๐ค ์ฑ์ฅ์ผ์ง 7.0
์ฑ
ํ๋ณตํ ์ด๊ธฐ์ฃผ์์(์จ์ธ ๋ค์ด์ด)
์ ๋ด์ฉ์ ์๊ทน๋ฐ์ ์์ํ๋ ์๋ฐํ ์ฑ์ฅ๊ธฐ๋ก
์ด์์๋ ๊ฝ๊ณผ ์ฃฝ์ ๊ฝ์ ์ด๋ป๊ฒ ๊ตฌ๋ณํ๋๊ฐ?
์ฑ์ฅํ๊ณ ์๋ ๊ฒ์ด ์ด์ ์๋ ๊ฒ์ด๋ค.
์๋ช ์ ์ ์ผํ ์ฆ๊ฑฐ๋ ์ฑ์ฅ์ด๋ค!
โ (7.0)<์์ ๊ฐํธ>
ํ์ธ๋ง ํ์ต๋ฒ
์ ์๊ฒ ๋๋งํผ, ์ฑ์ฅ์ผ์ง๋ ์ ๋ง ๊ทธ ๋ ์ ํค์๋ ์ค์ฌ์ผ๋ก ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ๋๋ก ํ๋ค.
โ๏ธ ํค์๋: ์ง๊ด์ ์ด๊ณ ์ฝ๊ณ ๊ฐ๋จํ๊ฒ ์์ฑ
html์ tabindex
html์ tabindex๋ ํค๋ณด๋๋ก ํฌ์ปค์ค๋ฅผ ์ด๋ํ ์ ์๋ ์์๋ฅผ ์ง์ ํ๋ ์์ฑ์ด๋ค. ์ด ์์ฑ์ ์ฌ์ฉํ๋ฉด ํค๋ณด๋๋ก ํฌ์ปค์ค๋ฅผ ์ด๋ํ ์ ์๋ ์์๋ฅผ ์ง์ ํ ์ ์๋ค. ์ด ๋, tabindex์ ๊ฐ์ ์ซ์์ด๋ฉฐ, 0์ด๋ฉด ํฌ์ปค์ค๋ฅผ ๋ฐ์ ์ ์๊ณ , -1์ด๋ฉด ํฌ์ปค์ค๋ฅผ ๋ฐ์ ์ ์๋ค. ๋ํ, ์ซ์๊ฐ ํด์๋ก ์ฐ์ ์์๊ฐ ๋๋ค. ๊ทธ๋ฌ๋ mdn์์๋ 0๋ณด๋ค ํฐ ์ซ์ ์ฌ์ฉ์ ์ง์ํ ๊ฒ์ ๊ถ์ฅํ๊ณ ์๋ค. (์ ์ ์๊ฒ ์์ด UX์ ์ผ๋ก ๋ ํผ๋์ ์ค ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.)
React์์ ํน์ element๋ฅผ ref๋ก ์ฐธ์กฐํ๊ณ ํด๋น element์ ํฌ์ปค์ค๋ฅผ ์ฃผ๊ณ ์ถ์ ๋,
element.focus()
๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋, ๋ง์ฝ element๊ฐ focus๊ฐ ๋์ง ์๋๋ค๋ฉด tabindex๋ฅผ 0์ผ๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค.
Context API
React์ Context API๋ฅผ ์ฌ์ฉํ๋ฉด tanstack-query๋งํผ์ ์๋์ง๋ง Provider๋ฅผ ํตํด ์บ์ฑ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค. ์ด์ ๋ํด์๋ ๋ฐ๋ก ๊ธ์ ์์ฑํด์ ์์ธ ์์ฑํด๋ณผ ์์ ์ด๋ค!
CacheStorage
๋งค๋ฒ ๋ธ๋ผ์ฐ์ ๋จ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋, localStorage ํน์ sessionStorage๋ฅผ ์ฌ์ฉํ์๋ค. ์ด๋ฒ์ ํ ๋ฏธ์ ์ผ๋ก ์บ์ฑ์ ๋ค์ ๊ตฌํํ๋ฉด์ CacheStorage๋ฅผ ์ฒ์ ์ ํ๋ค. ์์ 2๊ฐ์ ํฐ ์ฐจ์ด์ ์ ๋ธ๋ผ์ฐ์ ์ ์บ์๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ค. ์ฆ, ๋ธ๋ผ์ฐ์ ์ ์บ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์์์ ์บ์ฑ์ ๊ด๋ฆฌํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ์ง์ ์บ์ฑ์ ๊ด๋ฆฌํ ํ์๊ฐ ์๋ค. ๋ํ, ์บ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์์์ ์บ์๋ฅผ ์ญ์ ํด์ค๋ค. (localStorage๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ์ญ์ ํด์ค์ผ ํ๋ค.) ๋, ๋๊ธฐ์ ์ผ๋ก ์๋ํ๋ localStorage์ ๋ฌ๋ฆฌ ๋น๋๊ธฐ์ ์ผ๋ก ์๋ํ๋ค๋ ์ ๋ ํฐ ์ฐจ์ด์ ์ด๋ค.(๋ธ๋กํน์ด ์๋ค๋ ์๋ฏธ)
๐ ํ๊ณ
์ค๋๋ ์ด์ฌํ ๋ฏธ์ ์ ๊ตฌํํ๊ณ ํด๊ฒฐํ๋ค. ๋๋ฆ ์ ์๊ณ ์๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ๋ค์์๋ ์๋ก์ด ๊ฒ ๋ง์์ ์ฐธโฆ ๊ฐ๋ฐ ๊ณต๋ถ๋ ํ๋ฉด ํ ์๋ก ์ฌ๋ฏธ์๋ค. ๋ญ๊ฐ ๋๊ทผ๊ฑฐ๋ฆฌ๊ฒ ํ๋ ๊ฒ ์๋ค๊ณ ํด์ผํ๋โฆใ ใ ใ ใ ใ ์ด์ ๋ ์กฐ๊ธ ๋ฆฌ์กํธ๋ก ํ๋ก์ ํธ๋ฅผ ํ๋ ๊ฒ ์ต์ํด์ ธ๊ฐ๋ ๊ฒ ๊ฐ๋ค. ๋ ์ฆ๊ฒ๊ฒ ๊ฐ๋ฐํ๊ณ ๋ ํ๋ณตํ ์ถ์ ์ด์!