์๋ ํ์ธ์!
๊ธฐ๋ฅ ์์ฒญ์ด ๋ฌธ์ ์ ๊ด๋ จ๋์ด ์์ต๋๊น?
dropTarget
๋ฐ์ฝ๋ ์ดํฐ ์ฌ์ ๋ด์์ canDrop
๋ฉ์๋์ ํ์ฌ ๋๋กญ ํจ๊ณผ์ ์ก์ธ์คํ๊ณ ์ถ์ต๋๋ค. ๋ฐ๋ผ์ ํ์ฌ ํจ๊ณผ์ ๋ฐ๋ผ ๋๋กญ ๋์์ ๋นํ์ฑํ/ํ์ฑํํ ์ ์์ต๋๋ค.
์ํ๋ ์๋ฃจ์
์ค๋ช
monitor
dropEffect
์ ์ก์ธ์คํ ์ ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ์ฌ๊ธฐ ์์ ๋ฒ์ 3.0.2์ ๋ํ ์ด์ ์๋ฃจ์
์ ์ค๋นํ์ผ๋ฉฐ ํ์ํ ๊ฒฝ์ฐ ์ด ๊ธฐ๋ฅ์ ์ต์ ๋ฒ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ถ๊ฐํ๋ ๋ฐ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค.
https://github.com/react-dnd/react-dnd/issues/974 ์์๋ ์ ์ฉํ ์ ์์ต๋๋ค.
์๋ก! ๊ทธ๊ฒ์ ๋ํ ์๊ฒฌ์ด ์์ต๋๊น? ์ต์ํ ๋ถ๋ฅํด ์ฃผ์๊ฒ ์ต๋๊น?
์ด ๋ฌธ์ ๋ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ค๋๋ ๊ฒ์ผ๋ก ํ์๋์์ต๋๋ค. ๋ ์ด์ ํ๋์ด ์์ผ๋ฉด ํ์๋ฉ๋๋ค. ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ ์๊ฒ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ๋๋กญ๋ ํญ๋ชฉ์ด DropTarget ๋ด์์ ์ด๋ ๋๋ ๋ณต์ฌ๋์๋์ง ์์์ผ ํ์ง๋ง ๋ด๊ฐ ์ฝ์ ๋ด์ฉ์์๋ DragSource์ dropEffect์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋ชจ๋ ๋ค๋ฅธ ์์น๋ก ์ฐ๊ฒฐ๋๋ ๋ง์ DropTarget์ด ์์ผ๋ฏ๋ก DropTarget์์ onDrop ๋ ผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ์ด์ฉ๋ฉด ๋ด๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ชป ์ฌ์ฉํ๊ณ ์์์ง๋ ๋ชจ๋ฅด์ง๋ง ์ด๊ฒ์ ์ ํจํ ์ฌ์ฉ ์ฌ๋ก์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๊ธฐ๋ฅ์ ์ ์๊ฒ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ๋๋กญ๋ ํญ๋ชฉ์ด DropTarget ๋ด์์ ์ด๋ ๋๋ ๋ณต์ฌ๋์๋์ง ์์์ผ ํ์ง๋ง ๋ด๊ฐ ์ฝ์ ๋ด์ฉ์์๋ DragSource์ dropEffect์๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋ชจ๋ ๋ค๋ฅธ ์์น๋ก ์ฐ๊ฒฐ๋๋ ๋ง์ DropTarget์ด ์์ผ๋ฏ๋ก DropTarget์์ onDrop ๋ ผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ์ด์ฉ๋ฉด ๋ด๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ชป ์ฌ์ฉํ๊ณ ์์์ง๋ ๋ชจ๋ฅด์ง๋ง ์ด๊ฒ์ ์ ํจํ ์ฌ์ฉ ์ฌ๋ก์ธ ๊ฒ ๊ฐ์ต๋๋ค.