Heim Web-Frontend js-Tutorial Erklärt durch Hallo Welt von ReactJS_Grundkenntnisse

Erklärt durch Hallo Welt von ReactJS_Grundkenntnisse

May 16, 2016 pm 03:52 PM
react

Dieser Artikel enthält Codebeispiele und allgemeine Konzepte in React.js, einer von Facebook-Ingenieuren entwickelten Javascript-Bibliothek zum Erstellen von Benutzeroberflächen. Diese Konzepte werden im folgenden Artikel ausführlich veröffentlicht Wenn Sie ein ReactJS-Experte sind und der Meinung sind, dass diese Codes verbessert werden müssen, schreiben Sie mir bitte Ihre Vorschläge und ich werde diesen Artikel/Code zeitnah entsprechend aktualisieren

Bevor ich weiterhin einige Codebeispiele poste, muss ich ausdrücklich erwähnen: Für Anfänger wird es etwas schwierig sein, ReactJS zu lernen, da ich in letzter Zeit Code auf AngularJS geschrieben habe. Ich muss zugeben, dass sie mir helfen Wir machen einen großen Unterschied, wenn es um die Arbeit geht. Ich werde einen weiteren Blog-Beitrag verfassen, in dem die Hauptunterschiede zwischen ihnen verglichen werden

Auf hohem Niveau gibt es jedoch einige Gründe, warum ich beim Erlernen von ReactJS den etwas „steileren“ Lernpfad eingeschlagen habe:

    Komponentenorientiert: ReactJS ist komponentenorientiert, was bedeutet, dass Sie UI-Elemente als Komponenten behandeln müssen. Interessanterweise sind Komponenten zusammensetzbar. Das bedeutet, dass eine Komponente eine oder mehrere interne Komponenten haben kann. Der folgende Code demonstriert dies
  • JSX-Syntax: Es verwendet eine interessante JSX-Syntax (XML-ähnlich) zum Schreiben von Code. Ein JSX-Übersetzer (ein Precompiler) wird verwendet, um diese syntaktische Struktur in explizites JavaScript umzuwandeln
Ereignis-Proxy-Modell: Es folgt dem Ereignisdelegationsmodell, um Ereignisse zu erfassen

Hier sind einige Schlüsselkonzepte, die im Code gezeigt werden:

    Komponenten
  • Event-Agent
  • JSX-Syntax


Im Folgenden finden Sie eine kurze Beschreibung dessen, was die Komponente implementiert hat

- Eingabefeldelement, in das der Benutzer seinen Benutzernamen eingeben kann. Wie im folgenden Artikel erwähnt wird, handelt es sich bei diesem Eingabefeld tatsächlich um die Komponente „Benutzername“

- div-Ebenenelement, das zur Anzeige von „Hallo, Benutzername“ verwendet wird. Wie im folgenden Artikel erwähnt wird, ist diese Div-Ebene tatsächlich die „HelloText“-Komponente

So ist es gestaltet. Suchen Sie außerdem nach Code, der die folgenden Konzepte darstellt.

SayHello: Zusammensetzbare Komponenten

SayHello ist eine übergeordnete Komponente, die zwei Komponenten enthält. Diese übergeordnete Komponente besteht aus zwei internen Komponenten. Eine Komponente ist UserName, mit der Benutzer Namen eingeben können, und die andere Komponente ist HelloText, mit der Text angezeigt wird, z. B. Hallo, Welt. Diese übergeordnete Komponente definiert die folgenden drei verschiedenen APIs:

    getInitialState
  1. handleNameSubmit
  2. rendern (dies ist eine erforderliche Schnittstelle, eine Komponente muss render definieren, um React mitzuteilen, wie die Komponente als Antwort gerendert werden soll)
/
 // This is the parent component comprising of two inner components
 // One of the component is UserName which is used to allow user to enter their name
 // Other component is HelloText which displays the text such as Hello, World
 //
 var SayHello = React.createClass({
 // This is used to set the state, "data" which is 
 // accessed later in HelloText component to display the updated state
 // 
 getInitialState: function() {
  return {data: 'World'}
 },
 // It is recommended to capture events happening with any children
 // at the parent level and set the new state that updates the children appropriately
 handleNameSubmit: function(name) {
  this.setState({data: name});
 },
 // Render method which is comprised of two components such as UserName and HelloText
 //
 render: function() {
  return(
  <div>
  <UserName onNameSubmit={this.handleNameSubmit}/>
  <HelloText data={this.state.data}/>
  </div>
  );
 }
 });

Nach dem Login kopieren

UserName-Komponente

Die UserName-Komponente verfügt über die folgenden zwei Methoden:

    handleChange: wird zum Erfassen des onChange-Ereignisses
  1. verwendet
  2. rendern: Wird zum Rendern von Komponenten verwendet
var UserName = React.createClass({
 handleChange: function() {
  var username = this.refs.username.getDOMNode().value.trim();
  this.props.onNameSubmit({username: username });
  this.refs.username.getDOMNode().value = '';
  return false;
 },
 render: function() {
  return(
  <form role="form" onChange={this.handleChange}>
   <div className="input-group input-group-lg">
   <input type="text" className="form-control col-md-8" placeholder="Type Your Name" ref="username"/>
   </div>
  </form>
  );
 }
 });

Nach dem Login kopieren

HelloText-Komponente

HelloText-Komponente verfügt nur über eine Methode zum Rendern der Komponente

 render:包含了展示HelloText组件内容的代码
 
var HelloText = React.createClass({
  render: function() {
  return (
  <div>
   <h3>Hello, {this.props.data}</h3>
  </div>
  );
  }
 });

Nach dem Login kopieren
Wenn Sie den vollständigen Code erhalten möchten, habe ich den Code auf der

github hello-reactjs-Seite veröffentlicht. Bitte zögern Sie nicht, einen Kommentar abzugeben oder Vorschläge zu machen.

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 Artikel -Tags

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-App mit React und WebSocket

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

Leitfaden zur React-Front-End- und Back-End-Trennung: So erreichen Sie die Entkopplung und unabhängige Bereitstellung von Front-End und Back-End

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 einfache und benutzerfreundliche Webanwendungen mit React und Flask

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-App mit React und RabbitMQ

Anleitung zum Debuggen von React-Code: So finden und beheben Sie Front-End-Fehler schnell Anleitung zum Debuggen von React-Code: So finden und beheben Sie Front-End-Fehler schnell Sep 26, 2023 pm 02:25 PM

Anleitung zum Debuggen von React-Code: So finden und beheben Sie Front-End-Fehler schnell

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 erstellen Sie eine schnelle Datenanalyseanwendung mit React und Google BigQuery

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

React Router-Benutzerhandbuch: So implementieren Sie die Front-End-Routing-Steuerung

Leitfaden für reaktionsfähiges Design: So erzielen Sie adaptive Front-End-Layouteffekte Leitfaden für reaktionsfähiges Design: So erzielen Sie adaptive Front-End-Layouteffekte Sep 26, 2023 am 11:34 AM

Leitfaden für reaktionsfähiges Design: So erzielen Sie adaptive Front-End-Layouteffekte

See all articles