„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie übergebe ich Requisiten an Handlerkomponenten im React Router?

Wie übergebe ich Requisiten an Handlerkomponenten im React Router?

Veröffentlicht am 08.11.2024
Durchsuche:241

How to Pass Props to Handler Components in React Router?

Übergeben von Requisiten an Handler-Komponenten mithilfe von React Router

In React.js-Anwendungen, die React Router nutzen, kann es vorkommen, dass Sie Requisiten an bestimmte Handler-Komponenten übergeben müssen . Betrachten Sie die folgende Anwendungsstruktur:

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

var Index = React.createClass({
  render: function () {
    return (
        
Some header
); } }); var routes = ( ); ReactRouter.run(routes, function (Handler) { React.render(, document.body); });

Um Requisiten an die Comments-Komponente zu übergeben, verwenden Sie normalerweise eine Syntax wie . Dieser Ansatz ist jedoch nicht mit React Router kompatibel, der erwartet, dass Handler-Komponenten reine Funktionen oder Klassenkomponenten sind.

Eine Lösung besteht darin, eine Wrapper-Komponente zu erstellen, die sowohl die Handler-Komponente als auch die übergebenen Requisiten kapselt:

// CommentWrapper
var CommentWrapper = React.createClass({
  render: function () {
    return ;
  }
});

var routes = (
  
);

Alternativ können Sie Klassenkomponenten und das Objekt this.props.route nutzen, um auf Requisiten zuzugreifen, die an die übergeordnete Route übergeben werden:

class Index extends React.Component { 

  constructor(props) {
    super(props);
  }
  render() {
    return (
      

Index - {this.props.route.foo}

); } } var routes = ( );

Durch Setzen der foo-Requisite auf der /-Route können Sie später in der Indexkomponente mit this.props.route auf die Requisite zugreifen.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729674935 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3