


In diesem Artikel werden hauptsächlich die Installationsschritte von React sowie die Erläuterung der Eigenschaften und Konzepte von React vorgestellt. Lassen Sie uns diesen Artikel gemeinsam lesen
One React
1. Konzept
React ist eine Javascript-Bibliothek zum Erstellen von Benutzeroberflächen.
React wird hauptsächlich zum Erstellen einer Benutzeroberfläche verwendet und ist das V (Ansicht) in MVC.
React entstand als internes Projekt bei Facebook, wurde zum Aufbau der Instagram-Website verwendet und wurde im Mai 2013 als Open Source bereitgestellt.
React ist leistungsstark und die Codelogik ist sehr einfach.
2. Funktionen
高效
−React minimiert die Interaktion mit DOM durch Simulation von DOM.灵活
−React funktioniert gut mit bekannten Bibliotheken oder Frameworks.JSX
− JSX ist eine Erweiterung der JavaScript-Syntax. JSX ist für die React-Entwicklung nicht erforderlich, wird aber empfohlen.组件
− Das Erstellen von Komponenten über React erleichtert die Wiederverwendung von Code und kann gut bei der Entwicklung großer Projekte eingesetzt werden.单向响应的数据流
− React implementiert einen unidirektionalen Antwortdatenfluss und reduziert dadurch wiederholten Code, weshalb es einfacher als herkömmliche Datenbindung ist. (Redux
)
3. [Installation] (https://doc.react-china.org/docs/installation.html)
yarn init yarn add react react-dom react-scripts
package.json
{ "name": "test", "version": "1.0.0", "description": "zzz", "main": "index.js", "license": "MIT", "dependencies": { "react": "^16.2.0", "react-dom": "^16.2.0", "react-scripts": "^1.0.17" }, "scripts": { "start": "react-scripts start" } }
4. Komponente
1. ES6-Klasse
class Welcome extends React.Component { render() { return ( <h1 id="nbsp-Hello-nbsp-this-props-name-nbsp"> Hello, {this.props.name} </h1> ) } } class App extends React.Component { render() { return ( <p> <Welcome name = "zhz1" /> <Welcome name = "zhz2" /> <Welcome name = "zhz3" /> </p> ) } }
2. Funktional (zustandslose Komponente)
function Welcome(props) { return <h1 id="nbsp-Hello-nbsp-props-name-nbsp"> Hello, {props.name} </h1>} function App() { return ( <p> <Welcome name = "zhz1" /> <Welcome name = "zhz2" /> <Welcome name = "zhz3" /> </p> ) }
ES5-Schreiben von React.createClass (nur als Referenz)
React.createClass bindet Funktionsmethoden selbst (im Gegensatz zu React.Component, das nur Funktionen bindet, die betroffen sein müssen), was zu unnötigem Leistungsaufwand führt und die Leistung erhöht Möglichkeit, dass Code veraltet ist.
const Welcome = (props) => { return <h1 id="nbsp-Hello-nbsp-this-props-name-nbsp"> Hello, {this.props.name} </h1>} const App = React.createClass ({ render() { return ( <p> <Welcome name1 = "ss" /> <Welcome name1 = "zhz2" /> <Welcome name1 = "zhz3" /> </p> ) } });
Export (Bereitstellung der Schnittstelle) export default App
5. Props-Attribut
6. Zustandszustand
React betrachtet Komponenten als A-Zustand Maschine (Zustandsmaschinen). Durch die Interaktion mit dem Benutzer werden verschiedene Zustände erreicht und anschließend die Benutzeroberfläche gerendert, um die Benutzeroberfläche und die Daten konsistent zu halten.
In React müssen Sie nur den Status der Komponente aktualisieren und dann die Benutzeroberfläche entsprechend dem neuen Status neu rendern (ohne das DOM zu bedienen) (Wenn Sie mehr sehen möchten, gehen Sie zu React Reference Manual -Spalte der chinesischen PHP-Website Learning)
class Welcome extends React.Component { render() { return ( <h1 id="nbsp-Hello-nbsp-this-props-name-nbsp"> Hello, {this.props.name} </h1> ) } } class App extends React.Component { constructor() { super(); this.state = { selected: false } } changeText() { this.setState((preState, props) => ({ selected: !preState.selected })) } render() { return ( <p> <Welcome name= {this.state.selected ? "zhz3-selected" : "zhz3" } onClick={() => this.changeText()} /> <h1 id="nbsp-this-changeText-nbsp-this-state-selected-nbsp-nbsp-zhz-selected-nbsp-nbsp-zhz-nbsp-nbsp"> this.changeText()}> {this.state.selected ? "zhz3-selected" : "zhz3" } </h1> </p> ) } } export default App;
6. Beachten Sie, dass sich das Klassenattribut
in
className
- tabindex-Attribut ändert sich zu
tabIndex
- for-Attribut wird zu
htmlFor
- Der Wert von textarea muss über das
-Attribut
angegeben werden. Der Wert desvalue
- style-Attributs empfängt ein Objekt und das CSS-Attribut ändert sich in die
-Schreibmethode, z. B.: backgroundColor .
驼峰
React User Manual auf der chinesischen PHP-Website, um mehr zu erfahren). Wenn Sie Fragen haben, können Sie diese unten stellen. Hinterlassen Sie eine Nachricht mit einer Frage.
Das obige ist der detaillierte Inhalt vonWie installiere ich React? Einführung in die Installationsschritte von React (mit vollständigen Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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

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

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

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

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

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

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


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

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),
