[React] hover effect ์ด๋ฒคํธํจ์๊ฐ child element์ ์ ๋๋ก ์ ์ฉ์ด ์ ๋ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ
๐ข onMouseOver ์ด๋ฒคํธ๊ฐ child element์๋ ์ ์ฉ ์ ๋๊ณ parent element์๋ง ์ ์ฉ๋ ๋
โช์๋ฌ๋ด์ฉ :
๋ง์ฐ์ค ์ปค์๋ฅผ ๋ฉ๋ด๋ฒํผ ์์ ์ฌ๋ ธ์ ๋ ๋ฒํผ์ด ํ์์ผ๋ก ๋ฐ๋๊ณ , ์ปค์๋ฅผ ๋ผ๋ฉด ์๋ ์์ผ๋ก ๋์์ค๋๋ก ์ด๋ฒคํธํจ์๋ฅผ ๋ง๋ค์๋ค. ์ ์๋ํ๋ ๋ฏ ํ๋๋ฐ, ์์ธํ ๋ณด๋๊น ๋ฉ๋ด๋ฒํผ์ ์์นํ svg ์์ด์ฝ ์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด ์์ด ์ ๋๋ก ์ ๋ฐ๋๋ ํ์์ด ๋ฐ์ํ๋ค.
๋ฉ๋ด component ์์ child๋ก ์์ด์ฝ์ ๋ฃ์ด๋จ์ผ๋๊น, child element์๋ parent์ ์ ์ฉ๋ ์ด๋ฒคํธํจ์๊ฐ ์ ๋๋ก ์ ์ฉ์ด ์ ๋๋ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๊ณ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ฐพ์๋ดค๋ค.
โช์์ธ : e.target ์ฌ์ฉ
โชํด๊ฒฐ๋ฐฉ๋ฒ: e.currentTarget ์ฌ์ฉ
function MouseOverUserMenu(e) {
e.currentTarget.style.background = COLOR.whisperGray;
}
function MouseOutUserMenu(e) {
e.currentTarget.style.background = COLOR.white;
}
์ฐธ๊ณ ์๋ฃ
https://stackoverflow.com/questions/38316442/reactjs-mouseout-firing-on-hover-of-child-element