JavaScript: Wie kann ich Daten zwischen zwei Dateien verteilen?

Hallo zusammen,

ich bitte euch um Hilfe bei meinem Problem. Und zwar muss ich im Studium eine Seite so nachbauen, dass ich mittels einer Filterauswahl eine Liste ausgeben kann.

Letztens haben wir gelernt, dass wir den Code anhand Komponenten aufteilen sollen. Ich habe also die Komponenten Titelleiste (wo der Filter, Logo und Titel enthalten sein sollte), Tabelle und Filter erstellt.

Zudem gibt es ja diese Hauptdatei App.js. In einem ersten Schritt habe ich in der Filter.js Funktionen geschrieben, um meine Daten gemäß der möglichen Suchbegriffe zu filtern und habe den aktuellen Wert, welcher vom Nutzer gewählt wird, in einem useState abgespeichert.

Wie kann ich diesen Wert nun der Tabelle.js übergeben, damit dort anhand der Filterung die Ausgabe generiert werden kann?

ChatGPT hat mir geraten, die Daten zuerst in die App.js zu schreiben. Aber wie geht das? Wie komme ich von einem Child in das Parent?

Ich denke, ihr erkennt, dass ich leider noch sehr unerfahren im Programmieren bin.

Folgend die Codes:

App.js:

const Titelseite = () => {
  return (
    <div className="titelseite-container">
      <BasicTable />
    </div>
  );
};

const Tabelle = () => {
  return (
    <div className="tabelle">
      <div>Tabellenleiste</div>
    </div>
  );
};

function App() {
  const [service_ausg, setService] = useState("");
  const [anbieter_ausg, setAnbieter] = useState("");
  const handleServiceChange = (value) => {
    setService(value);
  };
  const handleAnbieterChange = (e) => {
    setAnbieter(e);
  };

  return (
    <div className="App">
      <Titelleiste>
        <Filter
          onChangeService={handleServiceChange}
          onChangeAnbieter={handleAnbieterChange}
        />
        <BasicTable />
      </Titelleiste>
      <Titelseite />
    </div>
  );
}

export default App;

Titelleiste.js:

import Grid from "@mui/material/Grid2";
import { Filter } from "./Filter";
import { useState } from "react";
import data from "./data/tableData.json";

export const Titelleiste = () => {
  const getData = (data) => {
    console.log("Ich bin in Titelleiste und komme von Filter");
  };

  return (
    <Grid container spacing={2}>
      <Grid item size={4}>
        <p>
          <img src="geoharvester.png" width="100px" height="50px" />
        </p>
      </Grid>
      <Grid item size={4}>
        <p>Ein Katalog für schweizer Geodienste</p>
      </Grid>
      <Grid item size={4} container justifyContent="flex-end">
        <p>
          <Filter onChange={getData} />
        </p>
      </Grid>
    </Grid>
  );
};

Filter.js :

import "./App.css";
import { useState } from "react";
import InputLabel from "@mui/material/InputLabel";
import MenuItem from "@mui/material/MenuItem";
import FormHelperText from "@mui/material/FormHelperText";
import FormControl from "@mui/material/FormControl";
import Select from "@mui/material/Select";
import data from "./data/tableData.json";
import { App } from "./App";

export const Filter = ({ onChangeService, onChangeAnbieter }) => {
  let array_service = data.map((element) => element.service);
  let array_service_ausg = [...new Set(array_service)]; //* new "Set", entfernt automatisch die Duplikate und erstellt ein neues Objekt. Das neue Objekt wird mittels den "..." in eine Liste gespeichert
  let array_anbieter = data.map((element) => element.anbieter);
  let array_anbieter_ausg = [...new Set(array_anbieter)];
  const funService = (e) => {
    const [service_ausg, setService] = useState("");
    setService(e.target.value);
  };
  const funAnbieter = (e) => {
    TransferAnbieter(e.target.value);
  };

  return (
    <div>
      <form>
        <Select name="service" onChange={funService} sx={{ width: 100 }}>
          {array_service_ausg.map((service) => (
            <MenuItem value={service}>{service}</MenuItem>
          ))}
        </Select>
      </form>
      <Select name="anbieter" onChange={funAnbieter} sx={{ width: 100 }}>
        {array_anbieter_ausg.map((anbieter) => (
          <MenuItem value={anbieter}>{anbieter}</MenuItem>
        ))}
      </Select>
      <br />
    </div>
  );
};

Nach einigen Stunden, die ich bereits in die Recherche meines Problems investiert habe, danke ich euch herzlich für eure Hilfe.

Bild zum Beitrag
HTML, IT, Webseite, JavaScript, HTML5, Code, Informatik, Programmiersprache, Softwareentwicklung, Webentwicklung, Frontend, React
Hypothetische Tests (H0 und H1)?

Hallo Zusammen,

ich habe einige Verständnisfragen zu statistischen Schluss, bzw. den Hypothetischen Tests:

Beispiel Staumauer, die überwacht wird (einseitiger bzw. linkseiter Test):
H0 : Staumauer bewegt sich nicht gegen Tal.
H1 : Staumauer bewegt sich gegen Tal.

H0 wird vermutet mit alpha = 0.01 und H0 ist korrekt: 

  • Das CI von 0.99 garantiert, dass wenn meine Stichprobe innerhalb des CI liegen, diese zu 99% richtig sind und 99% aller Stichproben auch innerhalb dieses CI's liegen sollten?
  • Da das CI nicht 100% abdeckt, besteht die (Irrtums-) W'keit von 1%, dass sich eine Stichprobe ausserhalb befinden könnte und somit der Fehler 1. Art entsteht?
  • Zu welcher W'keit kann aber gesagt werden, dass die Stichprobe korrekterweise ausserhalb liegt und H0 wirklich abgelehnt werden muss? -> Vermutlich gar nicht, da H0 als korrekt gilt? Aber ob H0 korrekt ist, ist ja wohl nicht in jedem Fall eindeutig?

H1 wird vermutet mit alpha = 0.01 und H1 ist korrekt: 

  • Meine Stichprobe liegt innerhalb des 99%igen Intervalls (99% aller Stichproben liegen ja innerhalb?) -> Fehler 2. Art zu 99% ?! Welche meiner Überlegungen ist falsch?
  • Oder hat das Intervall gar nichts mit den Hypothesen zu tun?
  • Wann wird die "Beta"-W'keit verwendet? Wenn H1 vermutet wird?
  • Ist es grundsätzlich richtig, dass immer H0 vermutet wird?

Ich danke für eine Rückmeldung

rechnen, Funktion, Ableitung, Gleichungen, Mathematiker, Statistik, Stochastik, Wahrscheinlichkeit, Wahrscheinlichkeitstheorie, Bernoulli, Beweis, Binomialverteilung, Funktionsgleichung, Hypothese, Analysis
Wieso wird hier mit P(X=73) gerechnet?

Hallo Zusammen,

ich habe eine Frage zu einer spannenden Statistikaufgabe, welche mit der Binomialverteilung und mit der Poisson-Verteilung zu lösen ist:

Eine Fluggesellschaft rechnet mit einer Wahrscheinlichkeit von 4%, dass ein Fluggast mit einem gekauften Ticket nicht erscheint.
Deshalb wird der Flug mit 75 von 73 verfügbaren Plätzen überbucht.
Wie groß ist die Wahrscheinlichkeit, dass alle Plätze belegt sind? Beantworte die Aufgabe mit beiden Verteilungen.

Binomialverteilung:
es soll genau der 73te Platz belegt sein, dann ist der Flieger voll -> P(X=73)
somit rechne ich (75 über 73) * 0.96^73 *(1-0.96)^2 und erhalte 0.2255.

So weit so gut, nun aber meine Frage zur Variante mit der Poisson-Verteilung

Poisson-Verteilung:

Gemäß den Lösung wird hier mit P(X=2) argumentiert, also quasi die Wahrscheinlichkeit dass zwei Personen nicht erscheinen?
Dementsprechend wird auch der Erwartungswert mit p*n also 0.04*75 gerechnet, welcher 3 ergibt...
Meine Frage dazu ist aber nun, weshalb hier nicht mit P(X=73) gerechnet werden kann? Kann ich nicht ebenfalls den Erwartungswert bilden mit: 0.96*75 = 72 Menschen die erscheinen und somit e^-72(72^73/73!) rechnen? In diesem Fall würde ich 0.046 erhalten... Was ist den der Unterschied zur Binomialverteilung?

Ich danke euch für eine Rückmeldung

Statistik, Stochastik, Wahrscheinlichkeit, Wahrscheinlichkeitstheorie, Bernoulli, Binomialverteilung, Erwartungswert
Statistik (Komibnatiorik/Zufallsgrössen und Zufallsverteilung)?

Hallo Zusammen,

kann mir bitte jemand bei folgender Aufgabe Helfen?

Gegeben ist eine Zielscheibe mit einem inneren Kreis A (10 Punkte), einem äußeren Ring B (5 Punkte) und einem weiteren äußeren Ring C (1 Punkt). Die Trefferwahrscheinlichkeiten sind 50% für A, 30% für B und 20% für C. Die Zufallsgröße X repräsentiert die Summe der Punkte bei drei Treffern auf die Zielscheibe.

Gesucht sind die Werte der diskreten Wahrscheinlichkeits- und Verteilungsfunktion für X. (Fehlschüsse werden ausgeschlossen)

Wie geht man hier vor? Wie weiss ich, wie oft ein Pfad vorkommt? Oder muss sollte ich hier generell mit der Kombinatorik vorgehen und nicht anahnd pascalisches Dreieck und Binomialkoeffizient?

Ich weiss dass man z.B. für 3 Punkte die Wahrscheinlichkeit 0.2^3 rechnen muss. Wie sieht es aber bei z.B. einem Treffer auf B und zwei auf A. Ich kann nicht einfach 0.3 * 0.2^2 rechnen, da dieser Pfad (wenn man sich ein Baumdiagramm vorstellt 3 Mal vorkommt?)

Aus vorheriger Aufgabe, welche die Wahrscheinlichkeit einer Familie mit 5 Kindern für Mädchen oder Junge (ohne Zwillinge) zu berechnen war, konnte der Binomialkoeffizient angwendet werden.
Also (5 über 0) * 0.5^5 für 0 Mädchen (5 über 1) *0.5^5 für 1 Mädchen usw. (1-p = 0.5, deshalb ist p immer ^5).

Ich hoffe ihr versteht mein Anliegen. Ich danke für eine Antwort und wünsche einen schönen Tag.

Funktion, Mathematiker, Stochastik, Wahrscheinlichkeit, Zufallsexperiment