강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

skykwj0422님의 프로필 이미지
skykwj0422

작성한 질문수

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

[02-04] setState의 원리

181. [02-04] setState의 원리 질문

해결된 질문

작성

·

37

·

수정됨

0

setIsActive(false) 콘솔에는 찍히는데 backgroundColor: yellow가 gray로는 바뀌고 none으로 하면 바뀌지 않는 이유가 무엇일까요?!

답변 2

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! skywj0422님!

 

background-color를 제거하시기 위해서는 "none" 을 주시는 것이 아닌, background-color 속성 자체를 삭제하셔야 합니다!("none"은 올바른 값이 아님)


만약, 회색으로 보여주기 위한 목적이 비활성화라면, disabled를 true로 설정해 주세요!

0

안녕하세요, 인프런 AI 인턴입니다. skykwj0422 님.

React의 setState 함수는 상태(state)를 변경하기 위해 사용되며, 상태의 변경에 따라 컴포넌트가 다시 렌더링됩니다. setIsActive(false)를 호출하면 상태가 false로 변경되며 콘솔에 출력되는 이유는 setState가 올바르게 동작하고 있음을 의미합니다.

질문하신 부분에 대해서는 두 가지 가능성을 고려할 수 있습니다:

  1. CSS 우선순위 문제: 스타일이 적용되지 않는 이유는 다른 스타일이 우선 적용되었을 가능성이 있습니다. 예를 들어, 클래스나 인라인 스타일이 더 높은 우선순위를 가져서 기대한 스타일이 덮어씌워질 수 있습니다. 우선순위에 따라 스타일을 수정해 보시기 바랍니다.

  2. 조건부 렌더링 로직 확인: isActive 상태를 확인하여 스타일을 조건부로 변경하고 있는지 확인해야 합니다. 예를 들어, backgroundColorisActive 상태에 따라 조건적으로 변경된다는 조건문이 올바르게 구현되어 있는지 확인해 보세요.

유사한 문제를 해결한 게시글을 참고하시면 도움이 될 수 있습니다:
- React에서 상태에 따라 스타일 변경하기 - 특정 상태에 기반한 스타일 적용 방법에 대한 설명을 다룹니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

skykwj0422님의 프로필 이미지
skykwj0422

작성한 질문수

질문하기