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 내에서 직접 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
에 대한 몇 가지 대안이 있으며, 각각 고유의 사용 사례 및 혜택이 있습니다.
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>
&&
연산자와 유사하지만 더 고급화되어 if/else
사용하지 않고 다른 조건에 따라 다른 결과를 얻을 수 있습니다.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>
구성 요소 구성 : 다양한 조건에 대해 별도의 구성 요소를 만들고 조건부로 렌더링 할 수 있습니다.
<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
문을 사용하지 않으려면 다음 전략을 구현할 수 있습니다.
if/else
JSX 내에서 사용될 변수 또는 함수를 설정할 수 있습니다. 이것은 JSX를 깨끗하게 유지하고 논리를 더 읽기 쉽게 만듭니다.헬퍼 기능 사용 : 조건부 로직을 캡슐화하는 헬퍼 기능을 정의한 다음 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>
useMemo
와 같은 반응 후크를 사용하여 JSX에 영향을 미치는 값을 조건부로 계산하여 논리를 JSX 자체와 분리하여 유지할 수 있습니다.이러한 전략을 사용함으로써 JSX를 읽을 수 있고 UI를 설명하는 데 집중할 수 있으며 조건부 논리가보다 관리 가능하고 유지 관리 가능한 방식으로 처리되도록 할 수 있습니다.
위 내용은 JSX 내에서 if/else 문을 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!