Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie übergebe ich benutzerdefinierte Requisiten an untergeordnete Komponenten in React Router v4?

Linda Hamilton
Freigeben: 2024-10-30 14:40:28
Original
681 Leute haben es durchsucht

How to Pass Custom Props to Child Components in React Router v4?

So übergeben Sie benutzerdefinierte Requisiten an untergeordnete Komponenten in React Router v4

Problem:

In React Router v4 wird versucht um auf Routen-Requisiten über this.props.route zuzugreifen, wird undefiniert zurückgegeben. Untergeordnete Komponenten können keine benutzerdefinierten Requisiten empfangen, die von übergeordneten Komponenten übergeben werden.

Beispielcode:

<code class="javascript">// Parent Component
render() {
  return (
    <Router>
      <div>
        <Switch>
          <Route path="/" exact test="hi" component={Home} />
          <Route path="/progress" test="hi" component={Progress} />
          <Route path="/test" test="hi" component={Test} />
        </Switch>
      </div>
    </Router>
  );
}

// Child Component
render() {
  console.log(this.props); // Returns {match: {...}, location: {...}, history: {...}, staticContext: undefined}
}</code>
Nach dem Login kopieren

Lösung:

Um benutzerdefinierte Requisiten an untergeordnete Komponenten zu übergeben, verwenden Sie eine Render-Requisite, um die Komponente inline mit der Route zu definieren:

<code class="javascript">// Parent Component
render() {
  return (
    <Router>
      <div>
        <Switch>
          <Route path="/" exact render={(props) => <Home test="hi" {...props} />} />
          <Route path="/progress" render={(props) => <Progress test="hi" {...props} />} />
          <Route path="/test" render={(props) => <Test test="hi" {...props} />} />
        </Switch>
      </div>
    </Router>
  );
}</code>
Nach dem Login kopieren

Greifen Sie in der untergeordneten Komponente wie folgt auf die benutzerdefinierte Requisite zu:

<code class="javascript">render() {
  console.log(this.props.test); // Returns "hi"
}</code>
Nach dem Login kopieren

Hinweis: Stellen Sie sicher, dass {...props} an die untergeordnete Komponente übergeben wird, um den Zugriff auf Standard-Router-Requisiten (z. B. Übereinstimmung, Standort, Verlauf) beizubehalten.

Das obige ist der detaillierte Inhalt vonWie übergebe ich benutzerdefinierte Requisiten an untergeordnete Komponenten in React Router v4?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!