Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zustandsteilung Über Komponenten Hinweg Mit Context | React-Hooks und Context für das Zustandsmanagement
React Mastery

bookZustandsteilung Über Komponenten Hinweg Mit Context

Context in React ist eine leistungsstarke Funktion, die das Teilen von Daten zwischen Komponenten ermöglicht, ohne dass explizites Weiterreichen von Props auf jeder Ebene des Komponentenbaums erforderlich ist. Mit Context können Daten durch die Komponenten-Hierarchie weitergegeben werden, sodass sie für jede Komponente, unabhängig von ihrer Position im Baum, leicht zugänglich sind.

Hinweis

Zum Einstieg betrachten wir die Syntax im Detail. Es folgt eine schrittweise Anleitung, die das Verständnis jedes Konzepts sicherstellt. Die Anwendung von Context erfordert eine spezifische Code-Implementierung auf verschiedenen Komponentenebenen. Nachdem wir die Syntax umfassend behandelt haben, folgt ein praxisnahes Beispiel.

Syntax:

1. Schritt: Es wird ein neuer Context mit der Funktion createContext() aus der React-Bibliothek erstellt und einer Variablen zugewiesen. Dies sollte auf der obersten Ebene der Anwendung erfolgen. In der Regel geschieht dies in einer separaten Datei (z. B. context.js). Sie ist für das Context-Objekt zuständig.

context.js

import { createContext } from "react";

// Create a new React context using the `createContext` function.
const Context = createContext();

// Export the created context so that it can be used in other parts of the application.
export default Context;

2. Schritt: In der Datei App werden alle Komponenten, die Zugriff auf die geteilten Daten benötigen, mit der Provider-Komponente des erstellten Context umschlossen. Die Provider-Komponente ermöglicht es, den Wert des Contexts zu definieren und allen Kindkomponenten, die diesen Context konsumieren, zur Verfügung zu stellen.

App.jsx

import React from "react";

// Import the `Context` object from `../context`.
import Context from "../context";

// Import child components that need access to the shared data.
import ChildCompOne from "../ChildCompOne/ChildCompOne";
import ChildCompTwo from "../ChildCompTwo/ChildCompTwo";

const App = () => {
  return (
    // Wrap the child components with `Context.Provider`.
    <Context.Provider>
      <ChildCompOne />
      <ChildCompTwo />
    </Context.Provider>
  );
};

export default App;

3. Schritt: In der Datei App müssen wir auch die Context-Daten bereitstellen. Dies erreichen wir, indem wir die value-Prop für die Context.Provider-Komponente verwenden. Alle benötigten Daten werden der value-Prop zugewiesen.

App.jsx

import React from "react";

import Context from "../context";

import ChildCompOne from "../ChildCompOne/ChildCompOne";
import ChildCompTwo from "../ChildCompTwo/ChildCompTwo";

const App = () => {
  // Define any data that you want to share across child components.
  const sharedData = "Some shared data";

  return (
    // Provide the shared data as a value to `Context.Provider`.
    <Context.Provider value={sharedData}>
      <ChildCompOne />
      <ChildCompTwo />
    </Context.Provider>
  );
};

export default App;

4. Schritt: In den Kindkomponenten (ChildCompOne oder ChildCompTwo) kann auf die geteilten Daten mit dem useContext-Hook zugegriffen werden. Um den useContext-Hook zu verwenden, muss der erstellte Context aus der Datei context.js als Argument übergeben werden.

ChildCompOne.jsx

import React, { useContext } from "react";

// Import the `Context` object from "../context"
import Context from "../context";

const ChildComponentOne = () => {
  // Use the `useContext` hook to access data from the `Context`
  const data = useContext(Context);

  // You can now use the shared data in this component

  return <div>{data} in the first component</div>;
};

export default ChildComponentOne;

Vollständiger App-Code:

Hinweis

Bitte nehmen Sie sich einen Moment Zeit, um jeden Schritt zu überprüfen und jede Datei sowie jeden Ordner zu öffnen, damit Sie den Prozess klar nachvollziehen können. Im nächsten Kapitel folgt ein Beispiel, das Context und Hooks kombiniert. So können Sie sehen, wie diese Konzepte in der Praxis zusammenwirken.

1. Was ist der Hauptzweck der Verwendung von Context?

2. Welche Funktion wird verwendet, um einen neuen Context zu erstellen?

3. Wie stellt man die Context-Daten für Kindkomponenten bereit?

question mark

Was ist der Hauptzweck der Verwendung von Context?

Select the correct answer

question mark

Welche Funktion wird verwendet, um einen neuen Context zu erstellen?

Select the correct answer

question mark

Wie stellt man die Context-Daten für Kindkomponenten bereit?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 10

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 2.17

bookZustandsteilung Über Komponenten Hinweg Mit Context

Swipe um das Menü anzuzeigen

Context in React ist eine leistungsstarke Funktion, die das Teilen von Daten zwischen Komponenten ermöglicht, ohne dass explizites Weiterreichen von Props auf jeder Ebene des Komponentenbaums erforderlich ist. Mit Context können Daten durch die Komponenten-Hierarchie weitergegeben werden, sodass sie für jede Komponente, unabhängig von ihrer Position im Baum, leicht zugänglich sind.

Hinweis

Zum Einstieg betrachten wir die Syntax im Detail. Es folgt eine schrittweise Anleitung, die das Verständnis jedes Konzepts sicherstellt. Die Anwendung von Context erfordert eine spezifische Code-Implementierung auf verschiedenen Komponentenebenen. Nachdem wir die Syntax umfassend behandelt haben, folgt ein praxisnahes Beispiel.

Syntax:

1. Schritt: Es wird ein neuer Context mit der Funktion createContext() aus der React-Bibliothek erstellt und einer Variablen zugewiesen. Dies sollte auf der obersten Ebene der Anwendung erfolgen. In der Regel geschieht dies in einer separaten Datei (z. B. context.js). Sie ist für das Context-Objekt zuständig.

context.js

import { createContext } from "react";

// Create a new React context using the `createContext` function.
const Context = createContext();

// Export the created context so that it can be used in other parts of the application.
export default Context;

2. Schritt: In der Datei App werden alle Komponenten, die Zugriff auf die geteilten Daten benötigen, mit der Provider-Komponente des erstellten Context umschlossen. Die Provider-Komponente ermöglicht es, den Wert des Contexts zu definieren und allen Kindkomponenten, die diesen Context konsumieren, zur Verfügung zu stellen.

App.jsx

import React from "react";

// Import the `Context` object from `../context`.
import Context from "../context";

// Import child components that need access to the shared data.
import ChildCompOne from "../ChildCompOne/ChildCompOne";
import ChildCompTwo from "../ChildCompTwo/ChildCompTwo";

const App = () => {
  return (
    // Wrap the child components with `Context.Provider`.
    <Context.Provider>
      <ChildCompOne />
      <ChildCompTwo />
    </Context.Provider>
  );
};

export default App;

3. Schritt: In der Datei App müssen wir auch die Context-Daten bereitstellen. Dies erreichen wir, indem wir die value-Prop für die Context.Provider-Komponente verwenden. Alle benötigten Daten werden der value-Prop zugewiesen.

App.jsx

import React from "react";

import Context from "../context";

import ChildCompOne from "../ChildCompOne/ChildCompOne";
import ChildCompTwo from "../ChildCompTwo/ChildCompTwo";

const App = () => {
  // Define any data that you want to share across child components.
  const sharedData = "Some shared data";

  return (
    // Provide the shared data as a value to `Context.Provider`.
    <Context.Provider value={sharedData}>
      <ChildCompOne />
      <ChildCompTwo />
    </Context.Provider>
  );
};

export default App;

4. Schritt: In den Kindkomponenten (ChildCompOne oder ChildCompTwo) kann auf die geteilten Daten mit dem useContext-Hook zugegriffen werden. Um den useContext-Hook zu verwenden, muss der erstellte Context aus der Datei context.js als Argument übergeben werden.

ChildCompOne.jsx

import React, { useContext } from "react";

// Import the `Context` object from "../context"
import Context from "../context";

const ChildComponentOne = () => {
  // Use the `useContext` hook to access data from the `Context`
  const data = useContext(Context);

  // You can now use the shared data in this component

  return <div>{data} in the first component</div>;
};

export default ChildComponentOne;

Vollständiger App-Code:

Hinweis

Bitte nehmen Sie sich einen Moment Zeit, um jeden Schritt zu überprüfen und jede Datei sowie jeden Ordner zu öffnen, damit Sie den Prozess klar nachvollziehen können. Im nächsten Kapitel folgt ein Beispiel, das Context und Hooks kombiniert. So können Sie sehen, wie diese Konzepte in der Praxis zusammenwirken.

1. Was ist der Hauptzweck der Verwendung von Context?

2. Welche Funktion wird verwendet, um einen neuen Context zu erstellen?

3. Wie stellt man die Context-Daten für Kindkomponenten bereit?

question mark

Was ist der Hauptzweck der Verwendung von Context?

Select the correct answer

question mark

Welche Funktion wird verwendet, um einen neuen Context zu erstellen?

Select the correct answer

question mark

Wie stellt man die Context-Daten für Kindkomponenten bereit?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 10
some-alt