Heim > Web-Frontend > js-Tutorial > Wie kann ich Requisiten an Handlerkomponenten im React Router übergeben?

Wie kann ich Requisiten an Handlerkomponenten im React Router übergeben?

Patricia Arquette
Freigeben: 2024-10-23 18:44:31
Original
546 Leute haben es durchsucht

How Can I Pass Props to Handler Components in React Router?

Übergabe von Requisiten an Handler-Komponenten in React Router

In React Router ist die Übergabe von Requisiten an Handler-Komponenten eine häufige Anforderung. Betrachten Sie die folgende Struktur:

var Dashboard = require('./Dashboard');
var Comments = require('./Comments');

var Index = React.createClass({
  render: function () {
    return (
        <div>
            <header>Some header</header>
            <RouteHandler />
        </div>
    );
  }
});

var routes = (
  <Route path="/" handler={Index}>
    <Route path="comments" handler={Comments}/>
    <DefaultRoute handler={Dashboard}/>
  </Route>
);

ReactRouter.run(routes, function (Handler) {
  React.render(<Handler/>, document.body);
});
Nach dem Login kopieren

Requisiten direkt weitergeben

Traditionell würden Sie Requisiten wie folgt direkt an die Kommentarkomponente übergeben:

<Comments myprop="value" />
Nach dem Login kopieren

Übergabe von Requisiten über React Router

In React Router müssen Requisiten jedoch über die Komponenten-Requisite der Route weitergeleitet werden. Dafür gibt es zwei Möglichkeiten:

1. Verwenden einer Wrapper-Komponente

Erstellen Sie eine Wrapper-Komponente, die die Handler-Komponente umschließt:

var RoutedComments = React.createClass({
  render: function () {
    return <Comments {...this.props} myprop="value" />;
  }
});
Nach dem Login kopieren

Verwenden Sie dann die RoutedComments-Komponente anstelle der Comments-Komponente in der Route:

<Route path="comments" handler={RoutedComments}/>
Nach dem Login kopieren

2. Verwenden von Klassenkomponenten mit Routeneigenschaften

Definieren Sie eine Klassenkomponente, die von React.Component ausgeht, und verwenden Sie die Komponentenstütze:

class Index extends React.Component {
  constructor(props) {
    super(props);
  }
  render() {
    return (
      <h1>
        Index - {this.props.route.foo}
      </h1>
    );
  }
}

var routes = (
  <Route path="/" foo="bar" component={Index}/>
);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Requisiten an Handlerkomponenten im React Router übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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