首頁 > web前端 > js教程 > React 設計模式~佈局元件~

React 設計模式~佈局元件~

Mary-Kate Olsen
發布: 2024-09-19 18:16:38
原創
640 人瀏覽過
  • 螢幕分割器

這種模式經常用於由側邊欄、主欄等組成的常見佈局。

・App.js

import { SplitScreen } from "./components/split-screen";

const LeftSide = ({ title }) => {
  return <h2 style={{ backgroundColor: "red" }}>{title}</h2>;
};

const RightSide = ({ title }) => {
  return <h2 style={{ backgroundColor: "blue" }}>{title}</h2>;
};

function App() {
  return (
    <SplitScreen leftWidth={1} rightWidth={3}>
      <LeftSide title={"Left"} />
      <RightSide title={"Right"} />
    </SplitScreen>
  );
}

export default App;
登入後複製

・此組件將 SplitScreen 組件中的 LeftSide 和 RightSide 組件作為子組件包裝。

・我將標題道具傳給 LeftSide 和 RightSide 組件。

·我將 leftWidth 和 rightWidth 屬性傳遞給 SplitScreen 元件,以便我可以更改每個元件的寬度。

・split-screen.js

import React from "react";
import { styled } from "styled-components";

const Container = styled.div`
  display: flex;
`;

const Panel = styled.div`
  flex: ${(p) => p.flex};
`;
export const SplitScreen = ({ children, leftWidth = 1, rightWidth = 1 }) => {
  const [left, right] = children;
  return (
    <Container>
      <Panel flex={leftWidth}>{left}</Panel>
      <Panel flex={rightWidth}>{right}</Panel>
    </Container>
  );
};
登入後複製

・此組件由左組件和右組件組成,它們作為子組件接收。

・我可以將每個接收 props 的元件的寬度改為 leftWidth 和 rightWidth。

React Design Patterns~Layout Componets~

以上是React 設計模式~佈局元件~的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板