작성
·
230
0
안녕하세요. 강의 잘 보고 있는 개발자입니다.
이번에 웹사이트 유지보수하는 중 인데 문득 이 강의를 보다가 비슷한 경우가 발생해서 이러한 경우는 어떻게 하는게 좋을지 궁금해져서 글올립니다.
현재 웹사이트에서 '스타일 적용'이라는 버튼이 있는데 이걸 누르면 A 스타일이 적용되고 안 누르거나 해제버튼을 클릭 한 경우는 B스타일을 적용하는 상황을 고려하고 있습니다.
이러한 스타일 적용에 관련된 로직이 많아서 상태를 두는 변수 하나를 사용해서 다음과 같이 사용하고 있는데 여기 있는 내용 처럼 하나의 함수로 빼는게 좋을지, 아니면 다른 방법을 고려할 수 있는지 궁금합니다.
일단 제가 현재 사용했던 방법은 수도코드로 간단하게 쓰면 다음과 같습니다.
function getStyleByCurrentState(currentState) {
if (currentState === "change") {
return A style 객체
} else {
return B style 객체
}
}
적용 버튼에 clickApply() 가 연결
function clickApply() {
return getStyleByCurrentState("change");
}
해제 버튼에 clickRelease()가 연결
function clickRelease {
return getStyleByCurrentState();
}
일단 추후에 state가 1개정도 더 추가 될 수 있는 상황이고 getStyleByCurrentState는 꽤 많은곳에서 호출하고 있는 상황입니다.
답변 1
0
스타일과 상태는 어떤 관계인가요? 둘이 왠지 같은 것 같은데 표현을 달리 한 것 같습니다. 스타일 하나로 통일을 하고 changeStyle()이나 Style 상속 구조를 만들어 보면 어떨까 싶습니다. 정답이 있는건 아니니까 한번 여러 시도를 해보시죠.