{ kembali"/> { kembali">

Rumah  >  Artikel  >  hujung hadapan web  >  Corak Reka Bentuk Bertindak Balas~Komponen Susun Atur~

Corak Reka Bentuk Bertindak Balas~Komponen Susun Atur~

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-09-19 18:16:38614semak imbas
  • Pecah Skrin

Corak ini sering digunakan dalam reka letak biasa yang terdiri daripada bar sisi, utama dan sebagainya.

・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;

・Komponen ini membalut komponen LeftSide dan RightSide di dalam komponen SplitScreen sebagai kanak-kanak.

・Saya menyampaikan prop tajuk kepada komponen LeftSide dan RightSide.

・Saya menghantar props leftWidth dan rightWidth kepada komponen SplitScreen supaya saya boleh menukar lebar setiap komponen.

・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>
  );
};

・Komponen ini terdiri daripada komponen Kiri dan Kanan, yang diterima sebagai kanak-kanak.

・Saya boleh menukar lebar setiap komponen yang menerima prop sebagai Lebar kiri dan Lebar kanan.

React Design Patterns~Layout Componets~

Atas ialah kandungan terperinci Corak Reka Bentuk Bertindak Balas~Komponen Susun Atur~. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn