以下是在 React JS 中實現的 基於組件的架構 的 5 個關鍵特徵。這些範例將示範 React 元件如何體現
的特性可重複使用性
組件可以在應用程式的不同部分重複使用。
範例:多次使用的 Button 組件
function Button({ label, onClick }) { return <button onClick={onClick}>{label}</button>; } function App() { return ( <div> <Button label="Submit" onClick={() => alert('Submit clicked')} /> <Button label="Cancel" onClick={() => alert('Cancel clicked')} /> </div> ); }
封裝
組件封裝了自己的邏輯和樣式,防止外界幹擾。
範例:封裝使用者資料的 UserProfile 元件
function UserProfile({ name, email }) { return ( <div> <h3>{name}</h3> <p>Email: {email}</p> </div> ); } function App() { return ( <UserProfile name="John Doe" email="john@example.com" /> ); }
互換性
可以交換或替換組件,而不影響應用程式的整體功能。
範例:將 PrimaryButton 與 secondaryButton 交換
function PrimaryButton({ label, onClick }) { return <button style={{ backgroundColor: 'blue', color: 'white' }} onClick={onClick}>{label}</button>; } function SecondaryButton({ label, onClick }) { return <button style={{ backgroundColor: 'gray', color: 'white' }} onClick={onClick}>{label}</button>; } function App({ usePrimary }) { return ( <div> {usePrimary ? <PrimaryButton label="Click Me" onClick={() => alert('Primary clicked')} /> : <SecondaryButton label="Click Me" onClick={() => alert('Secondary clicked')} />} </div> ); }
可擴充性
組件可以透過添加更多功能來輕鬆擴展,而不影響現有組件。
範例:新增更多產品組件來擴展應用程式
function Product({ name, price }) { return ( <div> <h3>{name}</h3> <p>Price: ${price}</p> </div> ); } function ProductList() { const products = [ { name: 'iPhone 13', price: 999 }, { name: 'Samsung Galaxy S21', price: 799 }, { name: 'Google Pixel 6', price: 599 }, ]; return ( <div> {products.map((product, index) => ( <Product key={index} name={product.name} price={product.price} /> ))} </div> ); } function App() { return <ProductList />; }
可維護性
組件是隔離的,因此可以輕鬆地獨立維護和更新。
範例:更新 Product 元件而不影響應用程式的其餘部分
function Product({ name, price }) { // Add a new feature to show if the product is on sale const isOnSale = price < 700; return ( <div> <h3>{name}</h3> <p>Price: ${price} {isOnSale && <span>(On Sale!)</span>}</p> </div> ); } function App() { return ( <div> <Product name="Google Pixel 6" price={599} /> </div> ); }
構圖
可以組合或組合元件來建立更複雜的 UI。
範例:將頁首、產品和頁尾組合到單一頁面
function Header() { return <h1>Welcome to My Shop</h1>; } function Product({ name, price }) { return ( <div> <h3>{name}</h3> <p>Price: ${price}</p> </div> ); } function Footer() { return <footer>Contact us at shop@example.com</footer>; } function Page() { return ( <div> <Header /> <Product name="Apple Watch" price={399} /> <Footer /> </div> ); } function App() { return <Page />; }
以上是基於組件的架構的關鍵特徵的詳細內容。更多資訊請關注PHP中文網其他相關文章!