[React] 북마크 버튼 체크, 언체크 기능

phoenix·2021년 9월 25일

Bookmark 버튼을 클릭하였을때 북마크가 체크되고 다시한번 눌렀을때 북마크가 해제되는 스타일링

이것을 하기 위해서는 삼항연산자와 북마크의 state를 저장할 useState를 사용한다

먼저 북마크 아이콘에대한 useState를 하고 그의 상태값을 false로 둔다

const [bookMarkIcon, setbookMarkIcon] = useState(false);

왜 북마크아이콘의 상태값을 false로 두냐면 나는 사이트가 켜졌을때 북마크가 체크가 되어있는 모습을 보면 안되기 때문이다 따라서 false값으로 두고

그리고

삼항연산자를 만들어

{bookMarkIcon === true ? (
              <북마크체크표시완료></북마크체크표시완료>
            ) : (
              <북마크체크표시미완료></북마크체크표시미완료>
            )}

이렇게 먼저 bookMarkIcon의 State값이 true면 북마크체크표시완료된 아이콘을 띄우고 false면 북마크체크표시미완료인 아이콘을 띄운다.

이것을 클릭했을때 적용 하고 싶으면

onClick={() => setbookMarkIcon(!bookmark)}

이렇게 onClick에다가 setbookMarkIcon이라는 스테이트변경함수를 넣는다 여기서 중요한 포인트는

바로 !bookmark를 해줘야한다 그냥 true로만 setbookMarkIcon(true)라고만 하면 딱 한번밖에 변경시킬 수 있다.

체크 언체크가 불가능 하다 그래서 !bookmark를 해주면 bookmark가 false면 true로 만들어주고 true면 다시 false로 만들어준다!

그러므로 check, uncheck이 계속 가능 하다!

잘못된점이나 더 나은 방향, 고쳐야할 부분이 있으시면 댓글로 알려주세요! 반영하겠습니다~

profile
phoenix

1개의 댓글

comment-user-thumbnail
2022년 7월 18일

제가 지금 서버로 부터 받은 데이터를 map으로 돌린 카드에서 이 기능을 적용 했을때 북마크 전부가 바뀌고 해제 하면 북마크 전체가 해제 되는경우는 어떻게 하나요 ?

답글 달기