Heim Web-Frontend js-Tutorial Welche Möglichkeiten gibt es, Parameter in React zu übergeben?

Welche Möglichkeiten gibt es, Parameter in React zu übergeben?

Feb 02, 2021 am 11:41 AM
react 参数

Welche Möglichkeiten gibt es, Parameter in React zu übergeben?

React ist eine JAVASCRIPT-Bibliothek zum Erstellen von Benutzeroberflächen.

React wird hauptsächlich zum Erstellen einer Benutzeroberfläche verwendet. Viele Leute denken, dass React das V (Ansicht) in MVC ist.

React entstand aus dem internen Projekt von Facebook und wurde zum Aufbau der Website von Instagram verwendet und wurde im Mai 2013 als Open Source bereitgestellt.

React hat eine hohe Leistung und eine sehr einfache Codelogik. Immer mehr Menschen achten darauf und nutzen es.

Am häufigsten werden Parameter zwischen übergeordneten und untergeordneten Komponenten übergeben.

Die übergeordnete Komponente übergibt Werte an die untergeordneten Komponenten. Dies kann direkt mit this.props erreicht werden.

Fügen Sie in der übergeordneten Komponente ein benutzerdefiniertes Attribut hinzu die untergeordnete Komponente, die Daten übertragen muss. In der untergeordneten Komponente können Sie die von der übergeordneten Komponente übergebenen Daten über this.props abrufen.

// 父组件 render() {        
    return (                // 使用自定义属性传递需要传递的方法或者参数
                <ShopUi toson={this.state}></ShopUi>            
                   )
    } 

//子组件 //通过this.props.toson就可以获取到父组件传递过来的数据 、、如果还需要往孙组件传递那么在子组件通过自定义属性继续传递就行了
      tograndson={this.props.toson}
、、孙组件通过this.props.tograndson获取到数据
Nach dem Login kopieren

Wenn die untergeordnete Komponente den Wert an die übergeordnete Komponente übergibt, müssen Sie die Empfangsfunktion festlegen und Zustand in der übergeordneten Komponente und übergeben Sie gleichzeitig den Funktionsnamen über Requisiten an die untergeordnete Komponente

Das heißt, die Methode zum Übergeben der übergeordneten Komponente an die untergeordnete Komponente wird in der untergeordneten Komponente aufgerufen

//孙子组件export default class Grandson extends Component{
    render(){        return (            <div style={{border: "1px solid red",margin: "10px"}}>
        {this.props.name}:                <select onChange={this.props.handleSelect}>
                    <option value="男">男</option>
                    <option value="女">女</option>
                </select>
            </div>        )
    }
}; 
//子组件export default class Child extends Component{
    render(){        return (            <div style={{border: "1px solid green",margin: "10px"}}>
                {this.props.name}:<input onChange={this.props.handleVal}/>
                <Grandson name="性别" handleSelect={this.props.handleSelect}/>
            </div>        )
    }
}; 
//父组件export default class Parent extends Component{
 
    constructor(props){
        super(props)        this.state={
            username: &#39;&#39;,
            sex: &#39;&#39;
        }   
    },
    handleVal(event){        this.setState({username: event.target.value});
    },
    handleSelect(value) {        this.setState({sex: event.target.value});
    },
    render(){        return (            <div style={{border: "1px solid #000",padding: "10px"}}>
                <div>用户姓名:{this.state.username}</div>
                <div>用户性别:{this.state.sex}</div>
                <Child name="姓名" handleVal={this.handleVal} handleSelect={this.handleSelect}/>
            </div>        )
    }
}
Nach dem Login kopieren

Jemand hat mich gefragt Diese Frage vor einiger Zeit: Wozu dient super() im Konstruktor?

Um es zusammenzufassen:

Wenn Sie dies im Konstruktor der Unterklasse verwenden möchten, müssen Sie den Konstruktor der übergeordneten Klasse aufrufen, sonst erhalten Sie dies nicht

Dann stellt sich die Frage, wie man den Konstruktor der Unterklasse aufruft Elternklasse? Durch super()

Wenn Sie die von der übergeordneten Komponente im Konstruktor übergebenen Parameter verwenden möchten, müssen Sie die Parameter beim Aufruf von super der übergeordneten Komponente an den Konstruktor der übergeordneten Komponente übergeben

Wenn Sie dies nicht verwenden oder Parameter im Konstruktor benötigen Sie nicht super ; Da React dies für Sie erledigt hat, ist die Bindung von Requisiten

Routenparameterübergabe

Installieren Sie npm install reagieren-router-dom --save-dev

Definieren Sie die Route (normalerweise außerhalb platziert)

 <HashRouter> 
    <Switch> 
        <Route exact path="/" component={Home}/> 
        <Route exact path="/detail" component={Detail}/> 
    </Switch> 
</HashRouter>
Nach dem Login kopieren

Wenn die Seite beim Springen

<li  onClick={el => this.props.history.push({
   pathname:&#39;/detail&#39;,
      state:{id:3}
})}>
</li>
Nach dem Login kopieren

receive Die übergebenen Daten können über this.props.history.location abgerufen werden

Bei der Übergabe von Routenparametern kann dieses Problem auftreten, d Definiert enthält Requisiten zum Standortverlauf

Die auf der Route bereitgestellte Komponente ist normalerweise Container.js. Im Allgemeinen trennen wir die UI.js-Komponente und klicken hier, um zu springen. Es ist kein Standortverlaufsabgleich erforderlich

Die UI-Komponenten-Requisiten verwenden die höherwertige Komponente mit Router

Statusförderung

, um den Status, den mehrere Komponenten gemeinsam nutzen müssen, auf die gemeinsame übergeordnete Komponente zu befördern, die ihnen am nächsten liegt, und die übergeordnete Komponente verteilt ihn dann über Requisiten an die untergeordnete Komponente

Kontext

Wenn eine Komponente einen bestimmten Status in ihrem eigenen Kontext speichert, können alle untergeordneten Komponenten unter dieser Komponente auf diesen Status zugreifen, ohne dass Zwischenkomponenten übertragen werden müssen, und auf die übergeordnete Komponente dieser Komponente kann nicht zugegriffen werden

class Index extends Component {
  static childContextTypes = {
    themeColor: PropTypes.string
  }

  constructor () {
    super()
    this.state = { themeColor: &#39;red&#39; }
  }

  getChildContext () {
    return { themeColor: this.state.themeColor }
  }

  render () {
    return (
      <div>
        <Header />
        <Main />
      </div>
    )
  }
}
通过getChildContext()将属性传递给所有的子孙组件
提供 context 的组件必须提供 childContextTypes 作为 context 的声明和验证。
Nach dem Login kopieren
class Title extends Component {
  static contextTypes = {
    themeColor: PropTypes.string
  }

  render () {
    return (
      <h1 style={{ color: this.context.themeColor }}>标题</h1>
    )
  }
}
子组件要获取 context 里面的内容的话,就必须写 contextTypes 来声明和验证你需要获取的状态的类型,它也是必写的,如果你不写就无法获取 context 里面的状态。
Title 想获取 themeColor,它是一个字符串,我们就在 contextTypes 里面进行声明。
Nach dem Login kopieren
Wir stellen Redux vor

Redux bietet einen vorhersehbaren Zustandsverwaltungsmechanismus für React Sie Andere Komponenten

Andere Komponenten können ihre eigenen Ansichten aktualisieren, indem sie den Status im Store abonnieren

Verwandte Empfehlungen:

Reaktions-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Parameter in React zu übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie eine Echtzeit-Chat-App mit React und WebSocket So erstellen Sie eine Echtzeit-Chat-App mit React und WebSocket Sep 26, 2023 pm 07:46 PM

So erstellen Sie eine Echtzeit-Chat-Anwendung mit React und WebSocket Einführung: Mit der rasanten Entwicklung des Internets hat die Echtzeitkommunikation immer mehr Aufmerksamkeit auf sich gezogen. Live-Chat-Apps sind aus dem modernen Sozial- und Arbeitsleben nicht mehr wegzudenken. In diesem Artikel wird erläutert, wie Sie mit React und WebSocket eine einfache Echtzeit-Chat-Anwendung erstellen, und es werden spezifische Codebeispiele bereitgestellt. 1. Technische Vorbereitung Bevor wir mit der Erstellung einer Echtzeit-Chat-Anwendung beginnen, müssen wir die folgenden Technologien und Tools vorbereiten: React: eine zum Erstellen

Leitfaden zur React-Front-End- und Back-End-Trennung: So erreichen Sie die Entkopplung und unabhängige Bereitstellung von Front-End und Back-End Leitfaden zur React-Front-End- und Back-End-Trennung: So erreichen Sie die Entkopplung und unabhängige Bereitstellung von Front-End und Back-End Sep 28, 2023 am 10:48 AM

React-Leitfaden zur Front-End- und Back-End-Trennung: So erreichen Sie die Front-End- und Back-End-Entkopplung und die unabhängige Bereitstellung. Es sind spezifische Codebeispiele erforderlich. In der heutigen Webentwicklungsumgebung ist die Front-End- und Back-End-Trennung zu einem Trend geworden. Durch die Trennung von Front-End- und Back-End-Code kann die Entwicklungsarbeit flexibler und effizienter gestaltet und die Zusammenarbeit im Team erleichtert werden. In diesem Artikel wird erläutert, wie Sie mithilfe von React eine Front-End- und Back-End-Trennung erreichen und so die Ziele der Entkopplung und unabhängigen Bereitstellung erreichen. Zuerst müssen wir verstehen, was Front-End- und Back-End-Trennung ist. Im traditionellen Webentwicklungsmodell sind Front-End und Back-End gekoppelt

So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask Sep 27, 2023 am 11:09 AM

So erstellen Sie mit React und Flask einfache und benutzerfreundliche Webanwendungen. Einführung: Mit der Entwicklung des Internets werden die Anforderungen an Webanwendungen immer vielfältiger und komplexer. Um den Anforderungen der Benutzer an Benutzerfreundlichkeit und Leistung gerecht zu werden, wird es immer wichtiger, moderne Technologie-Stacks zum Aufbau von Netzwerkanwendungen zu verwenden. React und Flask sind zwei sehr beliebte Frameworks für die Front-End- und Back-End-Entwicklung, und sie arbeiten gut zusammen, um einfache und benutzerfreundliche Webanwendungen zu erstellen. In diesem Artikel erfahren Sie, wie Sie React und Flask nutzen

So erstellen Sie eine zuverlässige Messaging-App mit React und RabbitMQ So erstellen Sie eine zuverlässige Messaging-App mit React und RabbitMQ Sep 28, 2023 pm 08:24 PM

So erstellen Sie eine zuverlässige Messaging-Anwendung mit React und RabbitMQ Einführung: Moderne Anwendungen müssen zuverlässiges Messaging unterstützen, um Funktionen wie Echtzeitaktualisierungen und Datensynchronisierung zu erreichen. React ist eine beliebte JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen, während RabbitMQ eine zuverlässige Messaging-Middleware ist. In diesem Artikel wird erläutert, wie Sie React und RabbitMQ kombinieren, um eine zuverlässige Messaging-Anwendung zu erstellen, und es werden spezifische Codebeispiele bereitgestellt. RabbitMQ-Übersicht:

React Router-Benutzerhandbuch: So implementieren Sie die Front-End-Routing-Steuerung React Router-Benutzerhandbuch: So implementieren Sie die Front-End-Routing-Steuerung Sep 29, 2023 pm 05:45 PM

ReactRouter-Benutzerhandbuch: So implementieren Sie die Front-End-Routing-Steuerung Mit der Popularität von Single-Page-Anwendungen ist das Front-End-Routing zu einem wichtigen Bestandteil geworden, der nicht ignoriert werden kann. Als beliebteste Routing-Bibliothek im React-Ökosystem bietet ReactRouter umfangreiche Funktionen und benutzerfreundliche APIs, wodurch die Implementierung des Front-End-Routings sehr einfach und flexibel ist. In diesem Artikel wird die Verwendung von ReactRouter vorgestellt und einige spezifische Codebeispiele bereitgestellt. Um ReactRouter zuerst zu installieren, benötigen wir

So erstellen Sie eine schnelle Datenanalyseanwendung mit React und Google BigQuery So erstellen Sie eine schnelle Datenanalyseanwendung mit React und Google BigQuery Sep 26, 2023 pm 06:12 PM

So verwenden Sie React und Google BigQuery zum Erstellen schneller Datenanalyseanwendungen. Einführung: Im heutigen Zeitalter der Informationsexplosion ist die Datenanalyse zu einem unverzichtbaren Bindeglied in verschiedenen Branchen geworden. Unter anderem ist die Entwicklung schneller und effizienter Datenanalyseanwendungen für viele Unternehmen und Einzelpersonen zum Ziel geworden. In diesem Artikel wird erläutert, wie Sie mit React und Google BigQuery eine schnelle Datenanalyseanwendung erstellen, und es werden detaillierte Codebeispiele bereitgestellt. 1. Übersicht React ist ein Werkzeug zum Erstellen

i9-12900H Parameterbewertungsliste i9-12900H Parameterbewertungsliste Feb 23, 2024 am 09:25 AM

Der i9-12900H ist ein 14-Kern-Prozessor und die Threads sind ebenfalls sehr hoch. Einige Parameter wurden verbessert und können den Benutzern ein hervorragendes Erlebnis bieten . Überprüfung der Parameterbewertung des i9-12900H: 1. Der i9-12900H ist ein 14-Kern-Prozessor, der die q1-Architektur und die 24576-KB-Prozesstechnologie übernimmt und auf 20 Threads aktualisiert wurde. 2. Die maximale CPU-Frequenz beträgt 1,80! 5,00 GHz, was hauptsächlich von der Arbeitslast abhängt. 3. Im Vergleich zum Preis ist es sehr gut geeignet. Das Preis-Leistungs-Verhältnis ist sehr gut und für einige Partner, die eine normale Nutzung benötigen, sehr gut geeignet. i9-12900H Parameterbewertung und Leistungsbenchmarks

Sicherheitsüberprüfung des C++-Funktionsparametertyps Sicherheitsüberprüfung des C++-Funktionsparametertyps Apr 19, 2024 pm 12:00 PM

Die Sicherheitsüberprüfung von C++-Parametertypen stellt durch Überprüfungen zur Kompilierungszeit, Laufzeitüberprüfungen und statischen Behauptungen sicher, dass Funktionen nur Werte erwarteter Typen akzeptieren, wodurch unerwartetes Verhalten und Programmabstürze verhindert werden: Typüberprüfung zur Kompilierungszeit: Der Compiler überprüft die Typkompatibilität. Überprüfung des Laufzeittyps: Verwenden Sie Dynamic_cast, um die Typkompatibilität zu überprüfen und eine Ausnahme auszulösen, wenn keine Übereinstimmung vorliegt. Statische Behauptung: Typbedingungen zur Kompilierzeit geltend machen.

See all articles