Styles en Ligne en Pratique
Créons un composant Notification
polyvalent qui affiche du texte et change dynamiquement la propriété background-color
en fonction de la prop behavior
. Nous procéderons à l'implémentation étape par étape.
Étape 1
Nous commençons par créer le composant parent, App
, ainsi que le composant enfant, Notification
, en utilisant la structure de base de React.
// Import necessary dependencies and create a root element
import { createRoot } from "react-dom/client";
const root = createRoot(document.getElementById("root"));
// Child component - `Notification`
const Notification = (props) => <></>;
// Parent component - `App`
const App = () => <></>;
// Render the `App` component to the root element
root.render(<App />);
Étape 2
Pour fournir un style par défaut au composant Notification
, nous créons un objet appelé notificationStyles
et attribuons les propriétés suivantes :
padding
avec la valeur "20px"
;
fontSize
avec la valeur "24px"
;
color
avec la valeur "aquamarine"
;
// Define default styles as an object
const notificationStyles = {
padding: "20px",
fontSize: "24px",
color: "aquamarine",
};
Attribuons l'objet notificationStyles
comme valeur à l'attribut style
du composant Notification component
, qui est appliqué à l'élément p
retourné.
// Child component - Notification
const Notification = (props) => (
<>
{/* Step 2: Apply default styles using inline styles */}
<p style={notificationStyles}></p>
</>
);
Étape 3
Dans le composant App
, nous pouvons utiliser le composant Notification
en passant la prop behavior
et la prop text
. La prop behavior
détermine l'apparence de la notification, tandis que la prop text
spécifie le texte à afficher dans la notification.
// Parent component - `App`
const App = () => (
<>
{/* Step 3: Use the Notification component with behavior and text props */}
<Notification text="Success" behavior="positive" />
<Notification text="Failure" behavior="negative" />
<Notification text="Information" behavior="neutral" />
</>
);
Étape 4
Nous pouvons implémenter la logique pour colorer l'arrière-plan de chaque message de notification en fonction de la prop behavior
de la manière suivante :
- Si la valeur de
behavior
est"positive"
, la couleur de fond doit être définie surgreen
; - Si la valeur de
behavior
est"negative"
, la couleur de fond doit être définie surred
; - Si la valeur de
behavior
est"neutral"
, la couleur de fond doit être définie surblue
.
Nous pouvons créer une fonction pour gérer la logique en utilisant l'instruction switch de JavaScript. Voici un exemple de comment cela peut être implémenté :
// Function to set background color based on `behavior` prop
const setBackgroundColor = (behavior) => {
switch (behavior) {
case "positive":
return "green";
case "negative":
return "red";
case "neutral":
return "blue";
default:
return "transparent";
}
};
Cette fonction prend la prop behavior
comme argument et retourne la couleur de fond correspondante en fonction de la valeur en utilisant l'instruction switch
. La prop behavior
retournera une couleur de fond transparent
si elle ne correspond pas aux cas spécifiés.
Incorporons cette fonction dans l'objet de style du composant :
// Child component - `Notification`
const Notification = (props) => (
<>
{/* Step 2, : Apply default styles using inline styles */}
{/* Step 4, : Apply the value for the `background-color` property
based on the `behavior` prop */}
<p
style={{
...notificationStyles,
backgroundColor: setBackgroundColor(props.behavior),
}}
>
{props.text}
</p>
</>
);
Nous utilisons les conventions JavaScript pour assurer la structure appropriée de l'objet de style. Tout d'abord, nous étendons l'objet notificationStyles
existant. Ensuite, nous introduisons une propriété supplémentaire, backgroundColor
, dont la valeur est dérivée de la chaîne retournée par la fonction setBackgroundColor
.
Code complet de l'application :
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 2.17
Styles en Ligne en Pratique
Glissez pour afficher le menu
Créons un composant Notification
polyvalent qui affiche du texte et change dynamiquement la propriété background-color
en fonction de la prop behavior
. Nous procéderons à l'implémentation étape par étape.
Étape 1
Nous commençons par créer le composant parent, App
, ainsi que le composant enfant, Notification
, en utilisant la structure de base de React.
// Import necessary dependencies and create a root element
import { createRoot } from "react-dom/client";
const root = createRoot(document.getElementById("root"));
// Child component - `Notification`
const Notification = (props) => <></>;
// Parent component - `App`
const App = () => <></>;
// Render the `App` component to the root element
root.render(<App />);
Étape 2
Pour fournir un style par défaut au composant Notification
, nous créons un objet appelé notificationStyles
et attribuons les propriétés suivantes :
padding
avec la valeur "20px"
;
fontSize
avec la valeur "24px"
;
color
avec la valeur "aquamarine"
;
// Define default styles as an object
const notificationStyles = {
padding: "20px",
fontSize: "24px",
color: "aquamarine",
};
Attribuons l'objet notificationStyles
comme valeur à l'attribut style
du composant Notification component
, qui est appliqué à l'élément p
retourné.
// Child component - Notification
const Notification = (props) => (
<>
{/* Step 2: Apply default styles using inline styles */}
<p style={notificationStyles}></p>
</>
);
Étape 3
Dans le composant App
, nous pouvons utiliser le composant Notification
en passant la prop behavior
et la prop text
. La prop behavior
détermine l'apparence de la notification, tandis que la prop text
spécifie le texte à afficher dans la notification.
// Parent component - `App`
const App = () => (
<>
{/* Step 3: Use the Notification component with behavior and text props */}
<Notification text="Success" behavior="positive" />
<Notification text="Failure" behavior="negative" />
<Notification text="Information" behavior="neutral" />
</>
);
Étape 4
Nous pouvons implémenter la logique pour colorer l'arrière-plan de chaque message de notification en fonction de la prop behavior
de la manière suivante :
- Si la valeur de
behavior
est"positive"
, la couleur de fond doit être définie surgreen
; - Si la valeur de
behavior
est"negative"
, la couleur de fond doit être définie surred
; - Si la valeur de
behavior
est"neutral"
, la couleur de fond doit être définie surblue
.
Nous pouvons créer une fonction pour gérer la logique en utilisant l'instruction switch de JavaScript. Voici un exemple de comment cela peut être implémenté :
// Function to set background color based on `behavior` prop
const setBackgroundColor = (behavior) => {
switch (behavior) {
case "positive":
return "green";
case "negative":
return "red";
case "neutral":
return "blue";
default:
return "transparent";
}
};
Cette fonction prend la prop behavior
comme argument et retourne la couleur de fond correspondante en fonction de la valeur en utilisant l'instruction switch
. La prop behavior
retournera une couleur de fond transparent
si elle ne correspond pas aux cas spécifiés.
Incorporons cette fonction dans l'objet de style du composant :
// Child component - `Notification`
const Notification = (props) => (
<>
{/* Step 2, : Apply default styles using inline styles */}
{/* Step 4, : Apply the value for the `background-color` property
based on the `behavior` prop */}
<p
style={{
...notificationStyles,
backgroundColor: setBackgroundColor(props.behavior),
}}
>
{props.text}
</p>
</>
);
Nous utilisons les conventions JavaScript pour assurer la structure appropriée de l'objet de style. Tout d'abord, nous étendons l'objet notificationStyles
existant. Ensuite, nous introduisons une propriété supplémentaire, backgroundColor
, dont la valeur est dérivée de la chaîne retournée par la fonction setBackgroundColor
.
Code complet de l'application :
Merci pour vos commentaires !