๐ย Reference
๐ย Chapter
React DnD
React Smooth DnD
Vue Smooth DnD
Tanstack Table
dnd kit
- dnd kit
- React๋ฅผ ์ํ ํ๋์ ์ด๊ณ ๊ฐ๋ณ๊ณ ์ฑ๋ฅ ์ข์ ๋๋๊ทธ ์ค ๋๋กญ ํดํท ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
- ๊ธฐ์กด์ HTML5 Drag and Drop API๋ฅผ ์ฌ์ฉํ์ง ์๊ณ React์ ํ
(hooks)๊ณผ ์ํ ๊ด๋ฆฌ(state management)๋ฅผ ํ์ฉํ์ฌ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์๋ฃจ์
์ ์ ๊ณตํ๋ ๊ฒ์ด ํน์ง์ด๋ค.
ํน์ง
- React ๊ธฐ๋ฐ:
useDraggable
๊ณผ useDroppable
๊ฐ์ React ํ
์ ์ ๊ณตํ์ฌ ๊ธฐ์กด ์ปดํฌ๋ํธ์ ๋๋๊ทธ ์ค ๋๋กญ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๋ค.
- ๊ฐ๋ณ๊ณ ๋ชจ๋ํ: ์ฝ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ต์ํ๋ ์ํ์์ ์ฝ 10KB ์ ๋์ ๋งค์ฐ ์์ ์ฉ๋์ ์๋ํ๋ฉฐ, ์ธ๋ถ ์์กด์ฑ์ด ์๋ค. ํ์ํ ๊ธฐ๋ฅ๋ง ์ ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ์ฌ๋ฌ ํจํค์ง๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ๋์ ์ ๊ทผ์ฑ(Accessibility): ํค๋ณด๋ ์
๋ ฅ ์ง์, ์คํฌ๋ฆฐ ๋ฆฌ๋๋ฅผ ์ํ ์ฌ์ฉ์ ์ ์ ์ง์นจ ๋ฐ ์ค์๊ฐ ์
๋ฐ์ดํธ(live regions announcements) ๊ธฐ๋ฅ์ ๋ด์ฅํ์ฌ ์ ๊ทผ์ฑ์ ๊ณ ๋ คํ UI๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.
- ๋ค์ํ ์
๋ ฅ ๋ฐฉ์ ์ง์: ๋ง์ฐ์ค, ํฐ์น, ํค๋ณด๋ ๋ฑ ๋ค์ํ ์
๋ ฅ ์ผ์๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ง์ํ๋ฉฐ, ํ์์ ๋ฐ๋ผ ์ปค์คํ
์ผ์๋ฅผ ๋ง๋ค ์๋ ์๋ค.
- ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅ: ์ ๋๋ฉ์ด์
, ์ ํ ํจ๊ณผ, ๋์ ๋ฐฉ์, ์คํ์ผ ๋ฑ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ์ปค์คํฐ๋ง์ด์งํ ์ ์๋ค. ์ถฉ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ด๋ ์ผ์ ๋ฑ์ ์ง์ ๋ง๋ค ์๋ ์๋ค.
- ๋ฐ์ด๋ ์ฑ๋ฅ: DOM์ ์ง์ ์กฐ์ํ์ง ์๊ณ , ๋๋๊ทธ ์์
์ด ์์๋ ๋๋ง ์ด๊ธฐ ์์น์ ๋ ์ด์์์ ๊ณ์ฐํ์ฌ ์ ์ฅํจ์ผ๋ก์จ ๋ถ๋๋ฌ์ด ์ํธ์์ฉ๊ณผ ์ ๋๋ฉ์ด์
์ ์ง์ํ๋ค.
ํต์ฌ ๊ฐ๋