ホームページ > 記事 > ウェブフロントエンド > コンポーネントベースのアーキテクチャの主な特徴
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 />; }
保守性
コンポーネントは分離されているため、個別に簡単に保守および更新できます。
例: アプリの残りの部分に影響を与えずに製品コンポーネントを更新する
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 を構築できます。
例: ヘッダー、製品、フッターを 1 つのページにまとめる
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 中国語 Web サイトの他の関連記事を参照してください。