{ retour"/> { retour">

Maison >interface Web >js tutoriel >Modèles de conception React ~ Composants de mise en page ~

Modèles de conception React ~ Composants de mise en page ~

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-09-19 18:16:38665parcourir
  • Séparateur d'écran

Ce modèle est souvent utilisé dans les mises en page courantes composées d'une barre latérale, d'une barre principale, etc.

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

・Ce composant enveloppe les composants LeftSide et RightSide à l'intérieur du composant SplitScreen en tant qu'enfants.

・Je passe les accessoires de titre aux composants LeftSide et RightSide.

・Je passe les accessoires leftWidth et rightWidth au composant SplitScreen afin de pouvoir modifier la largeur de chacun des composants.

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

・Ce composant est composé des composants Gauche et Droite, qui sont reçus en tant qu'enfants.

・Je peux changer la largeur de chacun des composants recevant des accessoires comme leftWidth et rightWidth.

React Design Patterns~Layout Componets~

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn