let's get IT with DAVINA ๐ป
ํน์ ๋ฒํผ์ ๋๋ ์ ๋๋ง, ์ด๋ฒคํธ ์ฃผ๊ธฐ ๋ณธ๋ฌธ
DEV_IN/React
ํน์ ๋ฒํผ์ ๋๋ ์ ๋๋ง, ์ด๋ฒคํธ ์ฃผ๊ธฐ
๋ค๋น์น์ฝ๋๐ 2023. 2. 17. 20:20๋ชจ๋ฌ์ฐฝ์ ๋์ฐ๋ฉด, ๋ค๋ฅธ ๋ถ๋ถ์ด ์๋ ๋ซ๊ธฐ ๋ฒํผ โ ์ ๋๋ ์ ๋๋ง ์ฐฝ์ ๋ซ๊ฑฐ๋
ํ๊ธฐ ์ด๋ฏธ์ง์ฒ๋ผ ํํธ ๋ฒํผ์ ๋๋ฅด๋ฉด ํํธ์ ์ํ๋ง ๋ณํ๊ฒ (์ด๋ฏธ์ง ์ ์ฒด๊ฐ ๋๋ฆฌ์ง ์๊ฒ) ํ๊ณ ์ถ์ ๋๊ฐ ์๋ค.
๋ชจ๋ฌ ์ปดํฌ๋ํธ์์ ์ต์์ ๋ถ๋ชจ element์ onClick ์ด๋ฒคํธ๋ก stopPropagation()ํจ์๋ฅผ ๋ฃ์ด์ฃผ๊ณ ,
๋ฒํผ element์ onClick ์ด๋ฒคํธ๋ก ๋ซํ ์ ์๊ฒ ์ค์ ํด์ฃผ๋ฉด ๋!
return (
<div onClick={(e) => {e.stopPropagation()}}>
<button onClick={handleModal}>X</button>
.
.
.
</div>
);
const handleLike = async (id, e) => {
e.stopPropagation();
// ๋ก๊ทธ์ธ ์๋ ์, ๋จผ์ ์ก๊ณ ๋ก๊ทธ์ธ
if (!isLogin) {
dispatch(modalOpen());
return;
}
return (
<ImgBox img={img}>
<Icon onClick={(e) => handleLike(id, e)}>
{isLike ? <AiFillHeart className="heart" /> : <AiOutlineHeart />}
</Icon>
</ImgBox>
'DEV_IN > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JSX (2) | 2023.02.21 |
---|---|
What is React? (3) | 2023.02.21 |
prevent scroll event with MODAL (์คํฌ๋กค ๋ฐฉ์ง-๋ชจ๋ฌ์ฐฝ) (5) | 2023.02.17 |
window.open ์์ฐฝ(ํ์ ์ฐฝ) ์ด๊ธฐ (0) | 2023.02.09 |
ํ์ด์ง ์ด๋ ์, ์คํฌ๋กค ์๋จ ๊ณ ์ ํ๊ธฐ (2) | 2023.02.08 |
Comments