A développement Application API rest – Partie 4: créer un site WordPress basé sur React

Dans le dernier épisode de la famille drsquoapplications API rest, nous avons commencé à examiner la partie avant du puzzle et à choisir React comme solution que nous utiliserons. La raison en est simple: il est rapide, bien documenté et soutenu par Facebook, lrsquoun des plus grands joueurs de lrsquoindustrie. Pour vérifier si nous pouvons faire parler WordPress et React entre eux, nous avons téléchargé le kit React starter localement et écrit un appel API rapide pour afficher n’importe quelle donnée dans l’installation WordPress locale. Bien que nos tests aient été couronnés de succès, nous nrsquoavons pas été en mesure de comprendre exactement les détails des tests. Cette fois ci, nous aborderons ce problème avec un aperçu plus structuré de la façon de combiner une application React simple et de lrsquoutiliser pour visualiser les données.
Commençons par un aperçu de ce que nous faisons. Nous nous inspirerons de lrsquoexcellent article drsquointroduction de per Harold Borgen sur React. êtes ici pour une réaction froide, il vaut également la peine de voir son film de réaction. Terminer JS dans les 8 minutes avant de continuer. Nous allons essayer de combiner une application super simple d’une page avec trois parties mobiles majeures: une référence aléatoire de Thoreau (sortie WordPress), une image appropriée et un bouton qui permet de une autre référence aléatoire.
Nous utiliserons le concept de composants dans React pour organiser les choses, plutôt que drsquoenvisager cela du point de vue du modèle. À partir de ces considérations, nous pouvons diviser lrsquoimage ci dessus en quatre sous composants: Thoreau app: le composant qui héberge tout. Photo: où vivront nos images. Citation: Nous montrons ici le meilleur reflet de Thoreau. Bouton aléatoire: possibilité pour les utilisateurs de de nouvelles idées. Commençons par le haut et mettons le premier ensemble. Créer un seul des premiers composants
Voici un bref rappel: Nous sommes en train de créer des pages drsquoindex. HTML dans le répertoire principal de notre site http:www.thoreauapp.dev Local Le kit React starter se trouve dans le même répertoire et nous avons inclus les fichiers associés dans le titre. Vous remarquerez également
Videz la page sur laquelle nous chargerons le contenu avec un nom fantaisiste:

React Thoreau Application

Nous appelons la méthode createclass sur lrsquoobjet React pour définir le premier composant. Nous avons également passé un objet de spécification comme suit:
Var thoreauapp = réaction. Créer une classe créer une classe ({0}
Rendu: fonctions () {
Retour (

La cohérence stupide est lrsquoesprit drsquoun esprit faible.
)
}
}) Nous allons bientôt définir beaucoup de choses dans un objet spécifique, mais nous allons commencer par créer une méthode de rendu de base. Crsquoest ce que React utilise chaque fois qursquoil redessine le contenu drsquoun composant. mettez à jour votre page de navigateur avec enthousiasme en ce moment, serez le bienvenu (malheureusement), absolument rien. Crsquoest parce qursquoà ce stade, nous nrsquoavons défini qursquoun seul élément potentiel et nous ne lrsquoavons pas encore mis en pratique. Utilisons maintenant reactdom pour résoudre ce problème. Offre:
Domaine de réaction. Rendu , Documentation Getelementbyid (
Nous avons chargé la Bibliothèque React associée. Nous avons défini la zone à charger sur la page
Notre contenu React. Nous travaillons dans le label Écrivez Javascript jsx. Nous avons défini un composant et lui avons assigné une fonction de rendu. Nous instancions les composants. Maintenant que nous savons plus ou moins ce qui se passe, faisons un petit détour et faisons les choses visuellement. Pulvériser nos résultats à lrsquoécran avec un peu de style est loin drsquoêtre excitant. À ce stade, il est préférable drsquoajouter au moins un peu de couleur et de typographie au mélange. Mais comment? La réponse simple ici est drsquoutiliser des styles en ligne.
Il ne fait aucun doute que les puristes du CSS srsquoaccrochent à leurs perles dès qursquoils y pensent, mais cette peur est insignifiante par rapport au désespoir ressenti par drsquoautres face au Panorama moderne du CSS React. React CSS la pointe de lrsquoiceberg. Bien sûr, il existe une grande variété de solutions modulaires intelligentes (comme le radium), mais nous essayons de rendre les choses aussi simples que possible. En gardant cela à lrsquoesprit, nous allons commencer quelques styles rapides dans la fonction de rendu et continuer notre vie: var thoreauapp = React. Créer une classe créer une classe ({0}
Rendu: fonctions () {
Var thoreauappstyle = {
Couleur de fond:
Couleur:
Emballage: 20,
Largeur: 550,
Marge:
Fontfamily:
Taille de la police: 22,
Fontweight:
}
Retour ( La cohérence stupide est le monstre du petit esprit.

)
}
}) Il en résultera les résultats suivants:
Nous ne gagnerons pas de prix de design, mais crsquoest suffisant pour prouver que nous avons un certain contrôle.
Après ce court détour, allons plus loin et divisons les choses en plusieurs parties. Ajouter des sous composants maintenant que nous avons quelque chose sur la page et que nous avons des idées vagues sur la façon de styliser les éléments, organisons un P
Sélection des pages. Getinitialstate est appelé automatiquement une fois lors du chargement et peut être utilisé pour supprimer le Groupe: getinitialstate: function () {
Renvoie {data: [], selectedquote: lsquo}
}, puis nous appellerons réellement notre API WordPress en utilisant componentdidmount. Dans cet exemple, nous utilisons jquery pour faire une requête Ajax réelle. Il stockera les résultats de la requête {dans le composant en utilisant setstate: componentdidmount: function ()
$. Ajax
URL: ceci. Accessoires. URL des données,
Type de données:
Cache: false,
Succès: fonctions (données)
Voilà. Définir lrsquoétat ({données: données})
Voilà. Sélectionnez andomquote ()
}. Liaison (ceci),
Erreur: fonctions (xhr, Status, Err) {
Console. Erreur (this.props.url, Status, err.tostring ()
}. BIND (this)
})
}, nous appellerons également une autre fonction ici, sélectionnerons une citation aléatoire dans lrsquoensemble de résultats et lrsquoattribuerons à un état spécifique: selectrandomquote: function () {
Var randomnumber = maths. Plancher (math.random () * ceci. Statut Données Longueur)
Var selectedquote = ceci. Statut Date [no]
Voilà. Définir lrsquoétat ({selectedquote: selectedquote.content.rendered})
}, nous devons maintenant entrer cette information dans la composante devis. Nous le ferons en le passant comme un objet appelé quota: Puis regardez à lrsquointérieur du composant: {this.props.quote}
Les mises à jour rapides montrent que nous avons presque réussi:
Finissons en. Regardez le contenu HTML externe et ajoutez une interaction avec le bouton de base Hawk Eye remarquera que nous avons de grandes étiquettes de paragraphe sales assis là à nous regarder. Ceci est en fait basé sur la conception en React pour éviter les risques de script entre les sites. Nous pouvons rapidement contourner le nom de danger excitant setinnerhtml pour faire le travail:
Notre mission ultime
Quelques interactions de base ont été ajoutées aujourdrsquohui. Nous allons le faire aussi facilement que possible en ajoutant un bouton rapide dans thoreauapp qui appelle la fonction selectrandomquote précédente pour changer lrsquoétat: Return

Obtenez plus de sagesse!

) Grâce à la magie de React, nos boutons peuvent maintenant rendre le contenu avec un nouveau devis à chaque fois qursquoils sont pressés (en utilisant les données déjà téléchargées). Notre travail drsquoaujourdrsquohui est terminé! Conclusion: dans lrsquoexemple ci dessus, nous devons être aussi simples que possible, mais espérons qursquoil suffira de guider dans les bases de REACT et de fournir quelques points de départ potentiels pour drsquoautres études individuelles. Nous avons parcouru un long chemin depuis le premier chapitre de notre série! En résumé, jusqursquoà présent, nous avons une application React drsquoune seule page: elle est décomposée en plusieurs composants. Téléchargez les données de l’api WordPress rest et affichez les résultats aléatoires. Permet à lrsquoutilisateur de visualiser le nouveau contenu en appuyant sur un bouton sans de page supplémentaire. Passez à la partie 5 plus tard, et nous examinerons comment ajouter des éléments de mode à lrsquointerface utilisateur et essayer drsquoutiliser des paramètres personnalisés. Comme drsquohabitude, si rentrez avec nous, nous serons heureux drsquoavoir de vos nouvelles. Contactez et Partagez vos idées dans la section commentaires ci dessous!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins