๋ฒ๊ทธ ์ค๋ช
DOM์ ๋ฌด์ธ๊ฐ๋ฅผ ๋์ผ๋ฉด DOM์์ ์ ๊ฑฐ๋๋ ์ฐ๊ฒฐ๋ ๋๊ธฐ ๋์์ด ์์ต๋๋ค.
์ด์ v7.1.0
์
๊ทธ๋ ์ด๋ํ ์ดํ๋ก
Uncaught TypeError: Cannot read property '0' of undefined
collect
ํจ์ ๋ด๋ถ์ monitor.isOver()
ํธ์ถ์์.
์ด์จ๋ , ๊ทธ๊ฒ์ ๋๊ธฐ ๋์์ด ์ ๊ฑฐ๋ ํ์๋ ์์ง ํจ์๊ฐ ํ ๋ฒ ๋ ํธ์ถ๋๋ ๊ฒ์ ๋ด
๋๋ค( targetId
๋ ์ ์๋์ง ์์).
ํฅ๋ฏธ๋ก์ด
6.0.0
๋ค์ ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.setTimeout
๋ํผ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.๊ทธ ์์ธ์ด ๋ฌด์์ธ์ง ์์ธ์?
์ฌํํ๊ธฐ ์ํด
๋์์ ์ฌํํ๋ ๋จ๊ณ:
monitor.isOver()
์์ collect
monitor.isOver()
๋ฅผ ํธ์ถํฉ๋๋ค.drop(...)
๋ด๋ถ์ ์์
์ ์ ๋ฌํฉ๋๋ค.์์๋๋ ํ๋
isOver
์๋ ํ์ด๋ฐ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ๋๊ธฐ ๋์์ ์ฆ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
์คํฌ๋ฆฐ์ท
๋ฐ์คํฌํ(๋ค์ ์ ๋ณด๋ฅผ ์๋ฃํ์ญ์์ค):
7.1.0
๊ฐ์ ๋ฌธ์
๋๋์ด ๋ณํ ๋ ๋๋ฆฌ๋ ๋ ธ๋ ฅ https://github.com/react-dnd/react-dnd/commit/0feb250b7ee90483e31f3bc159ebf946980d53a7#diff -ac418ba19283aec1fb0b70e6570c5613 ๋ฐ ํด๊ฒฐ์ ....
๊ฐ์ ๋ฌธ์ ์
๋๋ค.
์์ ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.
v7.0.2๋ก ๋กค๋ฐฑ
๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ํ์ธ๋จ - 7.0.2๋ก ๋๋๋ฆฌ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋จ
์ด๊ฒ์ 0feb250b7ee90483e31f3bc159ebf946980d53a7์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋์ ID๊ฐ undefined
์์ง๋ง ์๋ฌด๋ isOverTarget
๋ํ ํด๋น ๋ณ๊ฒฝ์ผ๋ก PR์ ํ์ธํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค.
ํ์ฌ ํ๋กํ ํ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
public isOverTarget(targetId: string, options = { shallow: false })
targetId
/ sourceId
๋ฅผ ์ด๋ํ๋ ํด๋น pr์์ ๋ณ๊ฒฝ๋ ๋ค๋ฅธ ๊ธฐ๋ฅ๊ณผ ๋ฌ๋ฆฌ
targetId: string | undefined
sourceId: string | undefined
๋ฐ ํ์ธ:
if (!targetId) {
return false;
}
์ด ๋ฌธ์ ์ ๋ํ ์์ ์ ์ฌ๊ธฐ์์ targetId
๊ฐ undefined
๊ฒ์
๋๋ค. https://github.com/mattkrick/react-dnd/blob/aafcf7d67f8b3a2035b561e97b7874e1064447e4/packages/dnd-core/src /DragDropMonitorImpl.ts#L128
์ด๊ฒ์ ์ค๋ ๋ฆด๋ฆฌ์ค์์ cfrank์ PR์ ์ํด ์์ ๋์ด์ผ ํฉ๋๋ค.
๋๋์ต๋๋ค, ์ฌ๋ฌ๋ถ, ๊ฐ์ฌํฉ๋๋ค @cfrank
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ ์ค๋ ๋ฆด๋ฆฌ์ค์์ cfrank์ PR์ ์ํด ์์ ๋์ด์ผ ํฉ๋๋ค.