> 웹 프론트엔드 > 프런트엔드 Q&A > JSX 내에서 if/else 문을 어떻게 사용합니까?

JSX 내에서 if/else 문을 어떻게 사용합니까?

Karen Carpenter
풀어 주다: 2025-03-20 14:59:28
원래의
897명이 탐색했습니다.

JSX 내에서 if/else 문을 어떻게 사용합니까?

JSX는 JSX 내에서 직접 if/else 문을 사용하는 것이 까다로울 수 있으며 JSX는 주로 UI의 모습을 설명하는 데 사용되며 본질적으로 전통적인 제어 흐름 문장을 지원하지는 않습니다. 그러나 JSX 외부의 JavaScript의 제어 흐름을 사용하거나 인라인 조건 표현식과 같은 다른 기술을 사용하여 JSX 내에서 조건부 로직을 관리 할 수 ​​있습니다.

다음은 JSX를 렌더링하기 전에 React 구성 요소 내에서 if/else Logic을 사용할 수있는 방법의 예입니다.

 <code class="jsx">function MyComponent(props) { let message; if (props.isLoggedIn) { message = <h1>Welcome back!</h1>; } else { message = <h1>Please log in.</h1>; } return ( <div> {message} </div> ); }</code>
로그인 후 복사

이 예에서 if/else 문은 JSX 외부에서 변수 message 설정하는 데 사용되며 JSX에 보간됩니다. 이 접근법은 JSX를 깨끗하게 유지하고 렌더링에 중점을 둡니다.

JSX에서 조건부 렌더링을 위해 Ternary 연산자를 사용할 수 있습니까?

예, 조건부 렌더링을 위해 JSX 내에서 직접 3 대 사업자를 사용할 수 있습니다. 이것은 일반적인 패턴이며 매우 간결 할 수 있습니다. Ternary 연산자를 사용하면 JSX 내의 조건에 따라 다른 요소 또는 구성 요소를 렌더링 할 수 있습니다.

JSX 내에서 3 배 운영자를 사용할 수있는 방법은 다음과 같습니다.

 <code class="jsx">function MyComponent(props) { return ( <div> {props.isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please log in.</h1>} </div> ); }</code>
로그인 후 복사

이 예에서, 3 원 운영자는 isLoggedIn Prop를 확인하고 그 값에 따라 다른 JSX 요소를 렌더링합니다. 이 접근법은 JSX 직접 간단한 조건부 렌더링 시나리오에 유용합니다.

React 구성 요소에서 조건부 로직을 관리하기위한 IF/ELSE의 대안은 무엇입니까?

React 구성 요소에서 조건부 로직을 관리하기위한 if/else 에 대한 몇 가지 대안이 있으며, 각각 고유의 사용 사례 및 혜택이 있습니다.

  1. Ternary Operator : 이미 언급했듯이, Ternary 운영자는 간결한 조건부 렌더링을 위해 JSX에서 직접 사용할 수 있습니다.
  2. Logical && 운영자 : JSX에 요소를 조건부로 포함하는 데 유용합니다. 조건이 true && 이후의 요소가 렌더링됩니다.

     <code class="jsx">function MyComponent(props) { return ( <div> {props.isLoggedIn && <h1>Welcome back!</h1>} {!props.isLoggedIn && <h1>Please log in.</h1>} </div> ); }</code>
    로그인 후 복사
  3. 단락 평가 : 논리 && 연산자와 유사하지만 더 고급화되어 if/else 사용하지 않고 다른 조건에 따라 다른 결과를 얻을 수 있습니다.
  4. React.usememo hook : 계산 비용이 많이 드는 조건부 컴퓨팅 값에 유용합니다.

     <code class="jsx">const message = React.useMemo(() => { if (props.isLoggedIn) { return <h1>Welcome back!</h1>; } else { return <h1>Please log in.</h1>; } }, [props.isLoggedIn]);</code>
    로그인 후 복사
  5. 구성 요소 구성 : 다양한 조건에 대해 별도의 구성 요소를 만들고 조건부로 렌더링 할 수 있습니다.

     <code class="jsx">function LoggedInMessage() { return <h1>Welcome back!</h1>; } function LoggedOutMessage() { return <h1>Please log in.</h1>; } function MyComponent(props) { return ( <div> {props.isLoggedIn ? <loggedinmessage></loggedinmessage> : <loggedoutmessage></loggedoutmessage>} </div> ); }</code>
    로그인 후 복사

더 나은 코드 가독성을 위해 JSX 내부의 IF/Else 문을 직접 사용하지 않으려면 어떻게해야합니까?

코드 가독성을 향상시키고 JSX 내부의 if/else 문을 사용하지 않으려면 다음 전략을 구현할 수 있습니다.

  1. JSX 외부의 조건부 로직 추출 : 첫 번째 예에서 볼 수 있듯이 JSX 외부의 if/else JSX 내에서 사용될 변수 또는 함수를 설정할 수 있습니다. 이것은 JSX를 깨끗하게 유지하고 논리를 더 읽기 쉽게 만듭니다.
  2. 헬퍼 기능 사용 : 조건부 로직을 캡슐화하는 헬퍼 기능을 정의한 다음 JSX 내에서 이러한 기능을 호출 할 수 있습니다.

     <code class="jsx">function getMessage(isLoggedIn) { if (isLoggedIn) { return <h1>Welcome back!</h1>; } else { return <h1>Please log in.</h1>; } } function MyComponent(props) { return ( <div> {getMessage(props.isLoggedIn)} </div> ); }</code>
    로그인 후 복사
  3. 구성 요소 구성 : UI를 더 작고 재사용 가능한 구성 요소로 나누면 조건부 렌더링을보다 효과적으로 관리 할 수 ​​있습니다. 각 구성 요소는 자체 논리를 처리하고 소품을 기반으로 조건부로 렌더링 할 수 있습니다.
  4. 후크 사용 : useMemo 와 같은 반응 후크를 사용하여 JSX에 영향을 미치는 값을 조건부로 계산하여 논리를 JSX 자체와 분리하여 유지할 수 있습니다.

이러한 전략을 사용함으로써 JSX를 읽을 수 있고 UI를 설명하는 데 집중할 수 있으며 조건부 논리가보다 관리 가능하고 유지 관리 가능한 방식으로 처리되도록 할 수 있습니다.

위 내용은 JSX 내에서 if/else 문을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿