So verwenden und begrenzen Sie Requisiten in React

So verwenden und begrenzen Sie Requisiten in React

Die Requisiten der Komponente (Requisiten sind ein Objekt)

Funktion: Empfangen von an die Komponente übergebenen Daten. Merkmale:

  • Sie können jede Art von Daten an eine Komponente übergeben
  • Props ist ein schreibgeschütztes Objekt. Sie können nur den Wert der Eigenschaft lesen und das Objekt nicht ändern.
  • Hinweis: Wenn Sie eine Klassenkomponente verwenden und einen Konstruktor schreiben, sollten Sie Props an super() übergeben, da Sie sie sonst nicht im Konstruktor abrufen können.

Requisiten

 <div id="test1"></div>
  <div id="test2"></div>
  <div id="test3"></div>
  <!-- React-Core-Bibliothek importieren -->
  <script src="../js/react.development.js"></script>
  <!-- Einführung von react-dom zur Unterstützung von react beim Betrieb von dom -->
  <script src="../js/react-dom.development.js"></script>
  <!-- Führen Sie Babel ein, um jsx in js zu konvertieren -->
  <script src="../js/babel.min.js"></script>
  <Skripttyp = "Text/Babel">
  //Komponentenklasse „Person“ erstellen, erweitert React.Component{
    rendern() {
      konsole.log(dies);
      const{Name,Alter,Geschlecht} = this.props
      zurückkehren(
        <ul>
          <li>Name: {name}</li>
          <li>Geschlecht: {sex}</li>
          <li>Alter: {age+1}</li>
        </ul>
      )
    }
  }
  // Komponenten auf der Seite rendern ReactDOM.render(<Person name="jerry" age={19} sex="男" />,document.getElementById('test1'))
  ReactDOM.render(<Person name="tom" age={18} sex="jung" />,document.getElementById('test2'))

  const p = {name:'Frau',age:18,sex:'Frau'}
  // ReactDOM.render(<Personenname={p.name} Alter={p.age} Geschlecht={p.sex} />,document.getElementById('test3'))
  
  ReactDOM.render(<Person {...p} />,document.getElementById('test3'))

  </Skript>

Begrenzungsstützen

Achten Sie darauf, prop-types.js zu importieren, sonst erhalten Sie eine Fehlermeldung

<div id="test1"></div>
  <div id="test2"></div>
  <div id="test3"></div>
  <!-- React-Core-Bibliothek importieren -->
  <script src="../js/react.development.js"></script>
  <!-- Einführung von react-dom zur Unterstützung von react beim Betrieb von dom -->
  <script src="../js/react-dom.development.js"></script>
  <!-- Führen Sie Babel ein, um jsx in js zu konvertieren -->
  <script src="../js/babel.min.js"></script>
  <!-- Einführung von Prop-Typen, die verwendet werden, um Komponenten-Tag-Attribute einzuschränken. Nach der Einführung gibt es noch einen weiteren Objekt-PropType auf der Welt -->
  <script src="../js/prop-types.js"></script>

  <Skripttyp = "Text/Babel">
  //Komponentenklasse „Person“ erstellen, erweitert React.Component{
    rendern() {
      konsole.log(dies);
      const{Name,Alter,Geschlecht} = this.props
      zurückkehren(
        <ul>
          <li>Name: {name}</li>
          <li>Geschlecht: {sex}</li>
          <li>Alter: {age+1}</li>
        </ul>
      )
    }
  }
  // Einschränkungsregeln Person.propTypes = {
    // Beschränken Sie den Inhalt des Namens auf eine Zeichenfolge. isRequired bedeutet, dass der Inhalt erforderlich ist und nicht weggelassen werden kann. name:PropTypes.string.isRequired.
    // Beschränken Sie das Geschlecht auf die Zeichenfolge „sex: PropTypes.string“,
    // Alter auf numerischen Wert begrenzen age: PropTypes.number,
    // Beschränken Sie „sprechen“ auf die Funktion „sprechen“: PropTypes.func
  }
  Person.defaultProps = {
    Geschlecht: 'männlich', // Geschlecht Standardwert ist männlich Alter: 18,
    sprechen: function() {
        Rückkehr [1];
    }
  }
  // Komponenten auf der Seite rendern ReactDOM.render(<Person name="jerry" age={19} />,document.getElementById('test1'))
  ReactDOM.render(<Person name="tom" age={18} sex="jung" />,document.getElementById('test2'))

  const p = {name:'Frau',age:18,sex:'Frau'}
  // ReactDOM.render(<Personenname={p.name} Alter={p.age} Geschlecht={p.sex} />,document.getElementById('test3'))
  
  ReactDOM.render(<Person {...p} />,document.getElementById('test3'))

  </Skript>

Vue begrenzt Requisiten

Wir können Validierungsanforderungen für Komponenteneigenschaften angeben, beispielsweise die Ihnen bekannten Typen. Wenn eine Anforderung nicht erfüllt ist, warnt Vue Sie in der Browserkonsole. Dies ist besonders hilfreich, wenn Sie eine Komponente entwickeln, die von anderen verwendet wird.

Um anzupassen, wie Props validiert werden, können Sie anstelle eines Zeichenfolgenarrays ein Objekt mit Validierungsanforderungen für den Props-Wert bereitstellen. Zum Beispiel:

Vue.component('meine-Komponente', {
  Requisiten: {
    // Grundlegende Typprüfung („null“ und „undefined“ bestehen jede Typprüfung)
    propA: Zahl,
    // Mehrere mögliche Typen propB: [String, Number],
    // Erforderlicher String propC: {
      Typ: Zeichenfolge,
      erforderlich: true
    },
    // Numerisches propD mit Standardwert: {
      Typ: Nummer,
      Standard: 100
    },
    // Objekt propE mit Standardwerten: {
      Typ: Objekt,
      // Die Standardwerte des Objekts oder Arrays müssen aus einer Factory-Funktion default: function () { abgerufen werden.
        return { Nachricht: 'Hallo' }
      }
    },
    // Benutzerdefinierte Überprüfungsfunktion propF: {
      Validator: Funktion (Wert) {
        // Dieser Wert muss mit einem der folgenden Strings übereinstimmen return ['success', 'warning', 'danger'].indexOf(value) !== -1
      }
    }
  }
})

Wenn die Prop-Validierung fehlschlägt, generiert Vue (in Entwicklungs-Builds) eine Konsolenwarnung.

Beachten Sie, dass Eigenschaften validiert werden, bevor eine Komponenteninstanz erstellt wird. Daher sind Instanzeigenschaften (wie Daten, Berechnungen usw.) in Standard- oder Validierungsfunktionen nicht verfügbar.

Typprüfung
Typ kann einer der folgenden nativen Konstruktoren sein:

Zeichenfolge
Nummer
Boolescher Wert
Anordnung
Objekt
Datum
Funktion
Symbol

Darüber hinaus kann der Typ ein benutzerdefinierter Konstruktor sein, der mit „Instanceof“ überprüft wird. Nehmen wir beispielsweise den folgenden vorgefertigten Konstruktor an:

Funktion Person (Vorname, Nachname) {
  this.firstName = Vorname
  this.lastName = Nachname
}

Sie können verwenden:

Vue.component('Blog-Beitrag', {
  Requisiten: {
    Autor: Person
  }
})

Um zu überprüfen, ob der Wert der Autor-Eigenschaft von einer neuen Person erstellt wurde.

Dies ist das Ende dieses Artikels über die Verwendung und Einschränkungen von Requisiten in React. Weitere Informationen zu Einschränkungen von React-Requisiten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Analyse von Context-Anwendungsszenarien in React
  • Lassen Sie uns über mein Verständnis und meine Anwendung von React Context sprechen
  • Verwenden Sie den Reaktionskontext, um die Vue-Slot-Funktion zu implementieren
  • Ein kurzer Vergleich von Props in React
  • Detaillierte Erläuterung der Verwendung von Requisiten in den drei Hauptattributen von React
  • Kontext und Eigenschaften von React erklärt

<<:  MySQL weist eine Riddle-Sicherheitslücke auf, die zum Verlust von Benutzernamen und Passwörtern führen kann

>>:  So verwenden Sie den Nginx-Proxy zum Surfen im Internet

Artikel empfehlen

So löschen Sie eine MySQL-Tabelle

Das Löschen einer Tabelle in MySQL ist sehr einfa...

Der gesamte Prozess der Installation von mysql5.7.22 unter der ARM64-Architektur

MySQL-Download-Adresse: https://obs.cn-north-4.my...

Beispiel für einen WeChat-Applet-Rechner

In diesem Artikel wird der spezifische Code des W...

Mysql kann keine nicht aggregierten Spalten auswählen

1. Einleitung Ich habe mein Blog kürzlich aktuali...

So installieren Sie eine ISO-Datei im Linux-System

Wie installiere ich ISO-Dateien unter einem Linux...

So migrieren Sie den MySQL-Speicherort auf eine neue Festplatte

1. Bereiten Sie eine neue Festplatte vor und form...

Fallstudie zum Vue-Einkaufswagen

Inhaltsverzeichnis 1. Warenkorb-Beispiel 2. Code-...

Der Unterschied und die Verwendung von LocalStorage und SessionStorage in Vue

Inhaltsverzeichnis Was ist LocalStorage Was ist S...

Beispiele für JavaScript-Entschüttelungen und Drosselung

Inhaltsverzeichnis Stabilisierung Drosselung: Ant...

Beispiel für die Verwendung eines manipulationssicheren JavaScript-Objekts

Inhaltsverzeichnis Manipulationssicheres Javascri...