study/프론트엔드🔯
[React] 리액트 Hook : useState
cowboysj
2023. 7. 14. 05:27
지금 만들고 있는 페이지가 버튼을 클릭했을 때 페이지가 바뀌지 않고 처리할 것들이 많아서 useState를 이렇게나 많이 써버렸다...
사실 이 hook을 자유자재로 잘 쓰지는 못 했었는데 이번 기회에 아주 확실하게 익히게 되었다.
몇 가지 정리를 해보자면
1. styled-components을 이용해 스타일을 적용할 때 useState를 이용해 그 값을 바꾸고자 한다면 props로 넘겨주면 된다!
const Sticker_Img = styled.img`
display: flex;
width: ${(props) => props.size};
height: ${(props) => props.size};
margin: 2vw;
`;
const [imgSize, setImgSize] = useState("37vh");
const handleNicknameClick = () => {
setImgSize("7vh");
};
//<적용할 태그>
<Sticker_Img
size={imgSize}
//...//
/>
2. 버튼을 클릭했을 때 어떤 요소가 사라지거나/뜨게 하려면
const [editclose, setEditClose] = useState(true);
const handleNicknameClick = () => {
setEditClose(false);
};
{editclose && (
<StickerEditButton onClick={openModal}>스티커 수정</StickerEditButton>
)}
이렇게 해주면 된다..!
처음에는 handle함수에서 setEditClose(!editclose)를 넣어줘었었는데 버튼을 누를 때마다 나타났다 사라졌다를 반복해서 (false)를 안에 넣어주었다.
728x90