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>
Comments