Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie übergebe ich Requisiten an die Handler-Komponente im React Router?

Mary-Kate Olsen
Freigeben: 2024-10-24 03:11:02
Original
345 Leute haben es durchsucht

How to Pass Props to Handler Component in React Router?

Übergabe von Requisiten an die Handler-Komponente in React Router

In React.js-Anwendungen, die React Router verwenden, kann es Fälle geben, in denen bestimmte Eigenschaften übergeben werden zu untergeordneten Komponenten ist erforderlich. Betrachten Sie beispielsweise die folgende Struktur:

<code class="javascript">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);
});</code>
Nach dem Login kopieren

Das Ziel besteht darin, Eigenschaften an die Kommentarkomponente zu übergeben. Normalerweise könnte dies direkt in der Komponentendeklaration erfolgen. Bei React Router ist jedoch ein alternativer Ansatz erforderlich.

Eine Möglichkeit besteht darin, eine Wrapper-Komponente zu verwenden. Dazu müsste eine separate Komponente erstellt werden, die die Comments-Komponente umschließt und die gewünschten Requisiten übergibt. Hier ist ein Beispiel:

<code class="javascript">var CommentsWithProps = React.createClass({
  render: function () {
    return (
      <Comments myprop={this.props.myprop} />
    );
  }
});

// Then in the routes definition:

var routes = (
  <Route path="/" handler={Index}>
    <Route path="comments" handler={CommentsWithProps}/>
    <DefaultRoute handler={Dashboard}/>
  </Route>
);</code>
Nach dem Login kopieren

Ein anderer Ansatz, ohne Wrapper-Komponenten zu verwenden, besteht darin, die Indexkomponente zu ändern:

<code class="javascript">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}/>
);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie übergebe ich Requisiten an die Handler-Komponente im React Router?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!