Praktische Anwendung von Inline-Stilen
Erstellung einer vielseitigen Notification-Komponente, die Text anzeigt und die Eigenschaft background-color dynamisch basierend auf der behavior-Prop ändert. Die Implementierung erfolgt schrittweise.
Schritt 1
Zunächst wird die übergeordnete Komponente App zusammen mit der Kindkomponente Notification unter Verwendung der grundlegenden Struktur von React erstellt.
// 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 />);
Schritt 2
Um dem Notification-Komponenten Standardstil zuzuweisen, erstellen wir ein Objekt namens notificationStyles und weisen die folgenden Eigenschaften zu:
padding mit dem Wert "20px";
fontSize mit dem Wert "24px";
color mit dem Wert "aquamarine";
// Define default styles as an object
const notificationStyles = {
padding: "20px",
fontSize: "24px",
color: "aquamarine",
};
Weisen wir das Objekt notificationStyles als Wert dem style-Attribut der Notification component-Komponente zu, welches auf das zurückgegebene p-Element angewendet wird.
// Child component - Notification
const Notification = (props) => (
<>
{/* Step 2: Apply default styles using inline styles */}
<p style={notificationStyles}></p>
</>
);
Schritt 3
In der App-Komponente können wir die Notification-Komponente verwenden, indem wir die Props behavior und text übergeben. Die Prop behavior bestimmt das Erscheinungsbild der Benachrichtigung, während die Prop text den anzuzeigenden Text innerhalb der Benachrichtigung festlegt.
// 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" />
</>
);
Schritt 4
Wir können die Logik implementieren, um den Hintergrund jeder Benachrichtigung basierend auf der Prop behavior wie folgt einzufärben:
- Wenn der Wert von
behavior"positive"ist, soll die Hintergrundfarbe aufgreengesetzt werden; - Wenn der Wert von
behavior"negative"ist, soll die Hintergrundfarbe aufredgesetzt werden; - Wenn der Wert von
behavior"neutral"ist, soll die Hintergrundfarbe aufbluegesetzt werden.
Wir können eine Funktion erstellen, die diese Logik mit der JavaScript-Switch-Anweisung umsetzt. Hier ein Beispiel, wie dies implementiert werden kann:
// 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";
}
};
Diese Funktion nimmt die Prop behavior als Argument und gibt die entsprechende Hintergrundfarbe anhand des Werts mit der switch-Anweisung zurück. Die Prop behavior gibt eine transparent Hintergrundfarbe zurück, wenn sie keinem der angegebenen Fälle entspricht.
Integrieren wir diese Funktion in das Style-Objekt der Komponente:
// 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>
</>
);
Wir verwenden JavaScript-Konventionen, um die korrekte Struktur des Style-Objekts sicherzustellen. Zuerst spreaden wir das bestehende notificationStyles-Objekt. Anschließend fügen wir eine zusätzliche Eigenschaft backgroundColor hinzu, deren Wert aus dem von der Funktion setBackgroundColor zurückgegebenen String stammt.
Vollständiger App-Code:
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you show me the complete code for the Notification component?
How can I customize the colors for different behaviors?
Can you explain how the style merging works in the Notification component?
Awesome!
Completion rate improved to 2.17
Praktische Anwendung von Inline-Stilen
Swipe um das Menü anzuzeigen
Erstellung einer vielseitigen Notification-Komponente, die Text anzeigt und die Eigenschaft background-color dynamisch basierend auf der behavior-Prop ändert. Die Implementierung erfolgt schrittweise.
Schritt 1
Zunächst wird die übergeordnete Komponente App zusammen mit der Kindkomponente Notification unter Verwendung der grundlegenden Struktur von React erstellt.
// 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 />);
Schritt 2
Um dem Notification-Komponenten Standardstil zuzuweisen, erstellen wir ein Objekt namens notificationStyles und weisen die folgenden Eigenschaften zu:
padding mit dem Wert "20px";
fontSize mit dem Wert "24px";
color mit dem Wert "aquamarine";
// Define default styles as an object
const notificationStyles = {
padding: "20px",
fontSize: "24px",
color: "aquamarine",
};
Weisen wir das Objekt notificationStyles als Wert dem style-Attribut der Notification component-Komponente zu, welches auf das zurückgegebene p-Element angewendet wird.
// Child component - Notification
const Notification = (props) => (
<>
{/* Step 2: Apply default styles using inline styles */}
<p style={notificationStyles}></p>
</>
);
Schritt 3
In der App-Komponente können wir die Notification-Komponente verwenden, indem wir die Props behavior und text übergeben. Die Prop behavior bestimmt das Erscheinungsbild der Benachrichtigung, während die Prop text den anzuzeigenden Text innerhalb der Benachrichtigung festlegt.
// 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" />
</>
);
Schritt 4
Wir können die Logik implementieren, um den Hintergrund jeder Benachrichtigung basierend auf der Prop behavior wie folgt einzufärben:
- Wenn der Wert von
behavior"positive"ist, soll die Hintergrundfarbe aufgreengesetzt werden; - Wenn der Wert von
behavior"negative"ist, soll die Hintergrundfarbe aufredgesetzt werden; - Wenn der Wert von
behavior"neutral"ist, soll die Hintergrundfarbe aufbluegesetzt werden.
Wir können eine Funktion erstellen, die diese Logik mit der JavaScript-Switch-Anweisung umsetzt. Hier ein Beispiel, wie dies implementiert werden kann:
// 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";
}
};
Diese Funktion nimmt die Prop behavior als Argument und gibt die entsprechende Hintergrundfarbe anhand des Werts mit der switch-Anweisung zurück. Die Prop behavior gibt eine transparent Hintergrundfarbe zurück, wenn sie keinem der angegebenen Fälle entspricht.
Integrieren wir diese Funktion in das Style-Objekt der Komponente:
// 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>
</>
);
Wir verwenden JavaScript-Konventionen, um die korrekte Struktur des Style-Objekts sicherzustellen. Zuerst spreaden wir das bestehende notificationStyles-Objekt. Anschließend fügen wir eine zusätzliche Eigenschaft backgroundColor hinzu, deren Wert aus dem von der Funktion setBackgroundColor zurückgegebenen String stammt.
Vollständiger App-Code:
Danke für Ihr Feedback!