React의 조건부 렌더링은 특정 조건이나 상태에 따라 다양한 UI 요소를 렌더링하는 기술을 말합니다. React는 애플리케이션의 상태나 소품에 따라 구성 요소나 요소를 조건부로 렌더링하는 여러 가지 방법을 제공합니다.
조건부 렌더링은 특정 조건에 따라 다양한 구성요소나 요소를 렌더링하는 개념입니다. React에서는 일반적으로 JSX 내에서 if, ternary 또는 &&와 같은 JavaScript 연산자를 사용하여 표시할 내용을 결정합니다.
JSX를 반환하기 전에 if 또는 else 문을 사용하는 전통적인 접근 방식을 사용할 수 있습니다. 이는 여러 조건을 확인해야 할 때 특히 유용합니다.
import React, { useState } from "react"; const MyComponent = () => { const [isLoggedIn, setIsLoggedIn] = useState(false); if (isLoggedIn) { return <h1>Welcome back!</h1>; } else { return <button onClick={() => setIsLoggedIn(true)}>Login</button>; } };
삼항 연산자는 조건부 렌더링을 수행하는 간단한 방법입니다. 조건이 true이면 한 요소를 표시하고 false이면 다른 요소를 표시하려는 경우에 유용합니다.
import React, { useState } from "react"; const MyComponent = () => { const [isLoggedIn, setIsLoggedIn] = useState(false); return ( <> {isLoggedIn ? ( <h1>Welcome back!</h1> ) : ( <button onClick={() => setIsLoggedIn(true)}>Login</button> )} </> ); };
&& 연산자는 조건이 참인 경우 요소를 렌더링하는 단락 연산자입니다. 이 접근 방식은 else 분기 없이 조건부로 무언가를 렌더링해야 할 때 유용합니다.
import React, { useState } from "react"; const MyComponent = () => { const [isLoggedIn, setIsLoggedIn] = useState(false); return ( <> {isLoggedIn && <h1>Welcome back!</h1>} {!isLoggedIn && <button onClick={() => setIsLoggedIn(true)}>Login</button>} </> ); };
특히 확인할 조건이 여러 개인 경우 조건부 렌더링을 보다 명확하게 처리하는 기능을 사용할 수도 있습니다.
import React, { useState } from "react"; const MyComponent = () => { const [status, setStatus] = useState("loading"); const renderContent = () => { if (status === "loading") { return <p>Loading...</p>; } else if (status === "error") { return <p>Error occurred!</p>; } else { return <p>Data loaded successfully!</p>; } }; return ( <div> {renderContent()} <button onClick={() => setStatus("error")}>Simulate Error</button> <button onClick={() => setStatus("success")}>Simulate Success</button> </div> ); };
때때로 특정 조건에 따라 전체 구성 요소를 렌더링하고 싶을 수도 있습니다.
import React, { useState } from "react"; const Welcome = () => <h1>Welcome back!</h1>; const Login = () => <button>Login</button>; const MyComponent = () => { const [isLoggedIn, setIsLoggedIn] = useState(false); return isLoggedIn ? <Welcome /> : <Login />; };
항목 목록을 렌더링하는 경우 조건부 렌더링을 사용하여 목록의 특정 요소를 선택적으로 렌더링할 수 있습니다.
import React, { useState } from "react"; const MyComponent = () => { const [isLoggedIn, setIsLoggedIn] = useState(false); if (isLoggedIn) { return <h1>Welcome back!</h1>; } else { return <button onClick={() => setIsLoggedIn(true)}>Login</button>; } };
많은 경우 API 호출 또는 비동기 데이터 가져오기 결과에 따라 요소를 조건부로 렌더링하게 됩니다. 이는 useEffect의 상태 및 부작용을 사용하여 수행할 수 있습니다.
import React, { useState } from "react"; const MyComponent = () => { const [isLoggedIn, setIsLoggedIn] = useState(false); return ( <> {isLoggedIn ? ( <h1>Welcome back!</h1> ) : ( <button onClick={() => setIsLoggedIn(true)}>Login</button> )} </> ); };
조건부 렌더링은 상태나 소품에 따라 다양한 UI 요소를 표시할 수 있게 해주는 React의 기본 개념입니다. if, 삼항 연산자, && 연산자 또는 함수와 같은 기술을 사용하여 구성 요소가 렌더링하는 내용을 동적으로 조정할 수 있습니다. 적절한 조건부 렌더링은 앱 상태 또는 사용자 상호 작용을 기반으로 적절한 콘텐츠를 표시하여 사용자 경험을 개선하는 데 도움이 됩니다.
위 내용은 React의 조건부 렌더링: UI 요소를 동적으로 렌더링하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!