suchen
HeimWeb-Frontendjs-TutorialErklärt durch Hallo Welt von ReactJS_Grundkenntnisse

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>
  );
 }
 });

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>
  );
 }
 });

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 id="Hello-this-props-data">Hello, {this.props.data}</h3>
  </div>
  );
  }
 });

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.

Stellungnahme
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
react中canvas的用法是什么react中canvas的用法是什么Apr 27, 2022 pm 03:12 PM

在react中,canvas用于绘制各种图表、动画等;可以利用“react-konva”插件使用canvas,该插件是一个canvas第三方库,用于使用React操作canvas绘制复杂的画布图形,并提供了元素的事件机制和拖放操作的支持。

react中antd和dva是什么意思react中antd和dva是什么意思Apr 21, 2022 pm 03:25 PM

在react中,antd是基于Ant Design的React UI组件库,主要用于研发企业级中后台产品;dva是一个基于redux和“redux-saga”的数据流方案,内置了“react-router”和fetch,可理解为应用框架。

React是双向数据流吗React是双向数据流吗Apr 21, 2022 am 11:18 AM

React不是双向数据流,而是单向数据流。单向数据流是指数据在某个节点被改动后,只会影响一个方向上的其他节点;React中的表现就是数据主要通过props从父节点传递到子节点,若父级的某个props改变了,React会重渲染所有子节点。

react中为什么使用nodereact中为什么使用nodeApr 21, 2022 am 10:34 AM

因为在react中需要利用到webpack,而webpack依赖nodejs;webpack是一个模块打包机,在执行打包压缩的时候是依赖nodejs的,没有nodejs就不能使用webpack,所以react需要使用nodejs。

react中forceupdate的用法是什么react中forceupdate的用法是什么Apr 19, 2022 pm 12:03 PM

在react中,forceupdate()用于强制使组件跳过shouldComponentUpdate(),直接调用render(),可以触发组件的正常生命周期方法,语法为“component.forceUpdate(callback)”。

react是组件化开发吗react是组件化开发吗Apr 22, 2022 am 10:44 AM

react是组件化开发;组件化是React的核心思想,可以开发出一个个独立可复用的小组件来构造应用,任何的应用都会被抽象成一颗组件树,组件化开发也就是将一个页面拆分成一个个小的功能模块,每个功能完成自己这部分独立功能。

react与vue的虚拟dom有什么区别react与vue的虚拟dom有什么区别Apr 22, 2022 am 11:11 AM

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。

react和reactdom有什么区别react和reactdom有什么区别Apr 27, 2022 am 10:26 AM

react和reactdom的区别是:ReactDom只做和浏览器或DOM相关的操作,例如“ReactDOM.findDOMNode()”操作;而react负责除浏览器和DOM以外的相关操作,ReactDom是React的一部分。

See all articles

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

Heiße Werkzeuge

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),