


Que peut faire le framework React ? Introduction détaillée au framework React (avec des exemples d'utilisation complets)
Sep 11, 2018 pm 04:45 PMReact est un framework JavaScript permettant de créer des interfaces utilisateur Web ??prévisibles?? et ??déclaratives??, qui a permis à Facebook de développer des applications Web plus rapidement. Jetons un coup d'?il au contenu de l'article
1. Caractéristiques?:
1 Décrivez simplement votre candidature à tout moment Quoi. il devrait ressembler à ce que React gérera automatiquement les mises à jour de l'interface utilisateur lorsque les données changent.
2. Déclaratif Lorsque les données changent, React revient conceptuellement à cliquer sur F5. En fait, il ne met à jour qu'une partie du changement. React consiste à créer des composants réutilisables. En fait, avec React, tout ce que vous faites est de créer des composants. L'encapsulation facilite la réutilisation, les tests et la séparation du code des composants.
De plus, il y a les points suivants à noter?:
React n'est pas un framework MVC
React n'utilise pas de modèles
??>La mise à jour responsive est très simple
Grands principes
Pour le web traditionnel. applications, l'exploitation du DOM est généralement une opération de mise à jour directe, mais nous savons que les mises à jour du DOM sont généralement co?teuses. Afin de réduire autant que possible les opérations sur le DOM, React fournit un moyen différent et puissant de mettre à jour le DOM au lieu des opérations directes du DOM. Il s'agit du Virtual DOM
, un DOM virtuel léger, qui est un objet abstrait par React, décrivant à quoi devrait ressembler le dom et comment il doit être présenté. Le vrai DOM est mis à jour via ce Virtual DOM, et ce Virtual DOM gère la mise à jour du vrai DOM. Pourquoi cela peut-il être plus rapide grace à cette couche supplémentaire d'opérations Virtual DOM?? En effet, React dispose d'un algorithme de différence. La mise à jour du DOM virtuel ne garantit pas que cela affectera immédiatement le DOM réel. React attendra la fin de la boucle d'événements, puis utilisera cet algorithme de différence pour calculer la plus petite valeur en comparant la nouvelle valeur actuelle. Représentation DOM avec la précédente. étapes pour mettre à jour le vrai DOM.Composants Composants
Les n?uds de l'arborescence DOM sont appelés éléments, mais ici c'est différent, Virtual DOM It est appelé composant. Le n?ud de Virtual DOM est un composant abstrait complet, composé de composants. Remarque?: L'utilisation de composants est extrêmement importante dans React, car l'existence de composants rend le calcul des différences DOM plus efficace.état et rendu
Comment React présente le vrai DOM, comment restituer les composants, quand effectuer le rendu et comment mettre à jour de manière synchrone, cela nécessite une brève compréhension de l'état et Rendu rendu. L'attribut state contient certaines données nécessaires pour définir le composant. Lorsque les données changent, Render sera appelé pour effectuer un nouveau rendu. Ici, les données ne peuvent être mises à jour que via la méthode setState fournie Tout d'abord, jetez un ?il. sur la démo du site officiel :<!DOCTYPE html> <html> <head> <script src="http://fb.me/react-0.12.1.js"></script> <script src="http://fb.me/JSXTransformer-0.12.1.js"></script> </head> <body> <p id="example"></p> <script type="text/jsx"> React.render( <h1>Hello, world!</h1>, document.getElementById('example') ); </script> </body> </html>
C'est très simple Lorsque vous y accédez avec un navigateur, vous pouvez voir les mots Hello, world !. JSXTransformer.js prend en charge l'analyse de la syntaxe JSX. JSX est une syntaxe qui peut écrire du code HTML en Javascript. Si vous ne l'aimez pas, React fournit également des méthodes Javascript natives. (Si vous voulez en voir plus, rendez-vous sur le site Web PHP chinois Colonne React Reference Manual
pour en savoir plus) Une autre démo?:<html> <head> <title>Hello React</title> <script src="http://fb.me/react-0.12.1.js"></script> <script src="http://fb.me/JSXTransformer-0.12.1.js"></script> <script src="http://code.jquery.com/jquery-1.10.0.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/showdown/0.3.1/showdown.min.js"></script> <style> #content{ width: 800px; margin: 0 auto; padding: 5px 10px; background-color:#eee; } .commentBox h1{ background-color: #bbb; } .commentList{ border: 1px solid yellow; padding:10px; } .commentList .comment{ border: 1px solid #bbb; padding-left: 10px; margin-bottom:10px; } .commentList .commentAuthor{ font-size: 20px; } .commentForm{ margin-top: 20px; border: 1px solid red; padding:10px; } .commentForm textarea{ width:100%; height:50px; margin:10px 0 10px 2px; } </style> </head> <body> <p id="content"></p> <script type="text/jsx"> var staticData = [ {author: "張飛", text: "我在寫一條評(píng)論~!"}, {author: "關(guān)羽", text: "2貨,都知道你在寫的是一條評(píng)論。。"}, {author: "劉備", text: "哎,咋跟這倆逗逼結(jié)拜了!"} ]; var converter = new Showdown.converter();//markdown /** 組件結(jié)構(gòu): <CommentBox> <CommentList> <Comment /> </CommentList> <CommentForm /> </CommentBox> */ //評(píng)論內(nèi)容組件 var Comment = React.createClass({ render: function (){ var rawMarkup = converter.makeHtml(this.props.children.toString()); return ( <p className="comment"> <h2 className="commentAuthor"> {this.props.author}: </h2> <span dangerouslySetInnerHTML={{__html: rawMarkup}} /> </p> ); } }); //評(píng)論列表組件 var CommentList = React.createClass({ render: function (){ var commentNodes = this.props.data.map(function (comment){ return ( <Comment author={comment.author}> {comment.text} </Comment> ); }); return ( <p className="commentList"> {commentNodes} </p> ); } }); //評(píng)論表單組件 var CommentForm = React.createClass({ handleSubmit: function (e){ e.preventDefault(); var author = this.refs.author.getDOMNode().value.trim(); var text = this.refs.text.getDOMNode().value.trim(); if(!author || !text){ return; } this.props.onCommentSubmit({author: author, text: text}); this.refs.author.getDOMNode().value = ''; this.refs.text.getDOMNode().value = ''; return; }, render: function (){ return ( <form className="commentForm" onSubmit={this.handleSubmit}> <input type="text" placeholder="Your name" ref="author" /><br/> <textarea type="text" placeholder="Say something..." ref="text" ></textarea><br/> <input type="submit" value="Post" /> </form> ); } }); //評(píng)論塊組件 var CommentBox = React.createClass({ loadCommentsFromServer: function (){ this.setState({data: staticData}); /*Pour plus de commodité , le voici Au lieu d'utiliser le serveur, vous pouvez l'essayer vous-même
$.ajax({ url: this.props.url + "?_t=" + new Date().valueOf(), dataType: 'json', success: function (data){ this.setState({data: data}); }.bind(this), error: function (xhr, status, err){ console.error(this.props.url, status, err.toString()); }.bind(this) }); */ }, handleCommentSubmit: function (comment){ //TODO: submit to the server and refresh the list var comments = this.state.data; var newComments = comments.concat([comment]); //這里也不向后端提交了 staticData = newComments; this.setState({data: newComments}); }, //初始化 相當(dāng)于構(gòu)造函數(shù) getInitialState: function (){ return {data: []}; }, //組件添加的時(shí)候運(yùn)行 componentDidMount: function (){ this.loadCommentsFromServer(); this.interval = setInterval(this.loadCommentsFromServer, this.props.pollInterval); }, //組件刪除的時(shí)候運(yùn)行 componentWillUnmount: function() { clearInterval(this.interval); }, //調(diào)用setState或者父級(jí)組件重新渲染不同的props時(shí)才會(huì)重新調(diào)用 render: function (){ return ( <p className="commentBox"> <h1>Comments</h1> <CommentList data={this.state.data}/> <CommentForm onCommentSubmit={this.handleCommentSubmit} /> </p> ); } }); //當(dāng)前目錄需要有comments.json文件 //這里定義屬性,如url、pollInterval,包含在props屬性中 React.render( <CommentBox url="comments.json" pollInterval="2000" />, document.getElementById("content") ); </script> </body> </html>Effet :
Cet article se termine ici (si vous souhaitez pour en savoir plus, allez ici Apprendre dans la colonne du site Web PHP chinois React User Manual
). Si vous avez des questions, vous pouvez laisser un message ci-dessous.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

NetflixUSESACustomFrameworkCalled "gibbon" builtonReact, notreactorVueDirectly.1) teamExperience: ChoOsBasedOnFamiliarity.

L'écosystème React comprend des bibliothèques de gestion d'état (telles que Redux), des bibliothèques de routage (telles que Reactrouter), des bibliothèques de composants d'interface utilisateur (telles que Material-UI), des outils de test (tels que la plaisanterie) et de la construction d'outils (tels que WebPack). Ces outils fonctionnent ensemble pour aider les développeurs à développer et à maintenir efficacement les applications, à améliorer la qualité du code et l'efficacité de développement.

Netflix utilise React comme cadre frontal. 1) Le modèle de développement composant de React et un écosystème fort sont les principales raisons pour lesquelles Netflix l'a choisi. 2) Grace à la composante, Netflix divise les interfaces complexes en morceaux gérables tels que les lecteurs vidéo, les listes de recommandations et les commentaires des utilisateurs. 3) Le cycle de vie virtuel et composant virtuel de React optimise l'efficacité du rendu et la gestion de l'interaction des utilisateurs.

React est une bibliothèque JavaScript développée par Meta pour la création d'interfaces utilisateur, avec son c?ur étant le développement des composants et la technologie DOM virtuelle. 1. Gestion des composants et de l'état: React gère l'état à travers les composants (fonctions ou classes) et les crochets (tels que UseState), améliorant la réutilisabilité et la maintenance du code. 2. Dom virtuel et optimisation des performances: via Virtual Dom, React met à jour efficacement le DOM réel pour améliorer les performances. 3. Cycle de vie et crochets: les crochets (tels que l'utilisation d'effet) permettent aux composants de la fonction de gérer les cycles de vie et d'effectuer des opérations à effet secondaire. 4. Exemple d'utilisation: des composants de Basic Helloworld à la gestion avancée de l'état mondial (UseContext et

L'avenir de React se concentrera sur l'ultime dans le développement des composants, l'optimisation des performances et l'intégration profonde avec d'autres piles technologiques. 1) React simplifiera encore la création et la gestion des composants et promouvra l'ultime dans le développement des composants. 2) L'optimisation des performances deviendra le centre d'attention, en particulier dans les grandes applications. 3) React sera profondément intégré à des technologies telles que GraphQL et TypeScript pour améliorer l'expérience de développement.

Les avantages de React sont sa flexibilité et son efficacité, qui se reflètent dans: 1) la conception basée sur les composants améliore la réutilisabilité du code; 2) La technologie DOM virtuelle optimise les performances, en particulier lors de la gestion de grandes quantités de mises à jour de données; 3) L'écosystème riche fournit un grand nombre de bibliothèques et d'outils tiers. En comprenant comment React fonctionne et utilise des exemples, vous pouvez ma?triser ses concepts principaux et les meilleures pratiques pour créer une interface utilisateur efficace et maintenable.

React est un cadre frontal pour la construction d'interfaces utilisateur; Un framework back-end est utilisé pour créer des applications c?té serveur. React fournit des mises à jour d'interface utilisateur composentisées et efficaces, et le framework backend fournit une solution de service backend complète. Lors du choix d'une pile technologique, les exigences du projet, les compétences en équipe et l'évolutivité doivent être prises en compte.

React est une bibliothèque JavaScript pour la construction d'interfaces utilisateur, adaptées aux applications grandes et complexes. 1. Le noyau de React est la composante et le DOM virtuel, qui améliore les performances de rendu d'interface utilisateur. 2. Comparé à Vue, React est plus flexible mais a une courbe d'apprentissage abrupte, qui convient aux grands projets. 3. Comparé à Angular, React est plus léger, dépend de l'écologie communautaire et adapté aux projets qui nécessitent une flexibilité.
