>웹 프론트엔드 >CSS 튜토리얼 >문자열 보간 문제 없이 React에서 클래스 속성을 조건부로 적용하는 방법은 무엇입니까?

문자열 보간 문제 없이 React에서 클래스 속성을 조건부로 적용하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-17 19:29:10835검색

How to Conditionally Apply Class Attributes in React Without String Interpolation Issues?

React에서 클래스 속성 조건부 적용

React에서 props를 기반으로 클래스 속성을 동적으로 적용하는 것은 요소를 조건부로 표시하거나 숨기는 데 유용할 수 있습니다. 그러나 한 가지 일반적인 문제는 조건부 검사에 사용되는 중괄호가 문자열 보간으로 잘못 해석될 수 있다는 것입니다.

질문:

사용자가 버튼 그룹을 조건부로 표시하려고 합니다. 상위 구성 요소의 소품을 기반으로 합니다. 코드 조각은 다음과 같습니다.

<div className="btn-group pull-right {this.props.showBulkActions ? 'show' : 'hidden'}">

문제는 중괄호가 문자열로 평가되어 아무것도 표시되지 않는다는 것입니다.

답변:

문제는 문자열 내에서 중괄호를 잘못 배치한 데 있습니다. 조건문을 올바르게 평가하려면 중괄호를 문자열 외부에 배치해야 합니다.

<div className={"btn-group pull-right " + (this.props.showBulkActions ? 'show' : 'hidden')}>

이렇게 하면 조건문이 먼저 평가되고 결과가 클래스 문자열과 연결됩니다. 실수로 클래스를 결합하는 것을 방지하려면 "pull-right" 뒤의 공백이 중요합니다(예: "pull-right show" 대신 "pull-rightshow"). 또한 적절한 평가를 보장하려면 괄호가 필요합니다.

이러한 조정을 통해 이제 버튼 그룹은 상위 구성 요소의 showBulkActions 소품 값에 따라 예상대로 표시되거나 사라집니다.

위 내용은 문자열 보간 문제 없이 React에서 클래스 속성을 조건부로 적용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.