react 中的条件渲染允许您根据某些条件(例如状态或道具)渲染不同的组件或元素。以下是一些实现条件渲染的常用方法:
您可以在组件内使用标准 javascript if-else 语句。
function mycomponent({ isloggedin }) { if (isloggedin) { return <h1>welcome back!</h1>; } else { return <h1>please sign in.</h1>; } }
这是一种根据条件呈现内容的简洁方法。
function mycomponent({ isloggedin }) { return ( <h1> {isloggedin ? 'welcome back!' : 'please sign in.'} </h1> ); }
仅当条件为真时,您才可以使用逻辑 and 运算符来渲染组件。
function mycomponent({ isloggedin }) { return ( <div> {isloggedin && <h1>welcome back!</h1>} {!isloggedin && <h1>please sign in.</h1>} </div> ); }
对于更复杂的条件,可以使用 switch 语句。
function mycomponent({ status }) { switch (status) { case 'loading': return <h1>loading...</h1>; case 'success': return <h1>data loaded successfully!</h1>; case 'error': return <h1>there was an error!</h1>; default: return null; } }
这是使用功能组件的完整示例:
import React from 'react'; function App() { const [isLoggedIn, setIsLoggedIn] = React.useState(false); return ( <div> <button onclick="{()"> setIsLoggedIn(!isLoggedIn)}> {isLoggedIn ? 'Logout' : 'Login'} </button> {isLoggedIn ? <h1>Welcome back!</h1> : <h1>Please sign in.</h1>} </div> ); } export default App;
根据您的情况复杂程度和个人编码风格选择最适合您需求的方法。如果您需要更多示例或解释,请告诉我!