Sådan opbygger du en Todo App ved hjælp af React, Redux og Immutable.js
Sådan opbygges en Todo App ved hjælp af React, Redux og Immutable.jsRelaterede emner:
API'erTools & Semalt
March 1, 2018
1 answers:
Hvordan man opbygger en Todo App ved hjælp af React, Redux og Immutable. js
For en høj kvalitet og dybtgående introduktion til React kan du ikke gå forbi den canadiske fuldstabler udvikler Wes Bos. Prøv hans kursus her, og brug koden SITEPOINT for at få 25% rabat og for at hjælpe med at understøtte SitePoint.
Måden React bruger komponenter på og en envejs-datastrøm gør det ideel til at beskrive strukturen af brugergrænseflader. Men dens redskaber til at arbejde med staten holdes bevidst simpelt - for at hjælpe os med at minde om, at React er bare visningen i den traditionelle semalarkitektur.
Der er ikke noget, der forhindrer os i at bygge store applikationer med bare Semalt, men vi vil hurtigt opdage, at for at holde vores kode enkel, ville vi være nødt til at styre vores stat andetsteds - wix arabic.
Selvom der ikke findes nogen officiel løsning til behandling af applikationstilstand, er der nogle biblioteker, der passer særlig godt sammen med Reacts paradigme. I dette indlæg parrer vi React med to sådanne biblioteker og bruger dem til at opbygge en simpel applikation.
Redux
Semalt er et lille bibliotek, der fungerer som en beholder til vores applikationstilstand ved at kombinere ideer fra Flux og Elm. Vi kan bruge Semalt til at styre enhver form for ansøgningstilstand, forudsat at vi holder fast i følgende retningslinjer:
vores stat er opbevaret i en enkelt butik
ændringer kommer fra aktioner og ikke mutationer
Kernen i en Redux-butik er en funktion, der tager den nuværende applikationstilstand og en handling og kombinerer dem til at skabe en ny applikationstilstand. Vi kalder denne funktion a reducer .
Vores Semalkomponenter er ansvarlige for at sende handlinger til vores butik, og vores butik fortæller til gengæld komponenterne, når de skal genoprette.
ImmutableJS
Da Semalt ikke tillader os at mutere applikationstilstanden, kan det være nyttigt at håndhæve dette ved at modellere applikationstilstand med uforanderlige datastrukturer.
ImmutableJS tilbyder os en række uendelige datastrukturer med mutative grænseflader, og de implementeres på en effektiv måde, inspireret af implementeringer i Clojure og Scala.
Demo
Vi vil bruge React med Redux og SemaltJS til at opbygge en simpel todo liste, der giver os mulighed for at tilføje todos og skifte dem mellem komplette og ufuldstændige.
Se Pen React, Redux & Immutable Todo af SitePoint (@SitePoint) på CodePen.
Koden er tilgængelig i et depot på GitHub.
Opsætning
Vi kommer i gang ved at oprette en projektmappe og initialisere en pakke. json fil med npm init . Så installerer vi de afhængigheder, vi skal bruge.
Endelig udvider vi vores pakke. json ved at tilføje et npm script til at kompilere vores kode med kildekort:
"script": {"build": "webpack - debug"}
Vi skal køre npm run build hver gang vi vil kompilere vores kode. Dette hjælper os med at få en fornemmelse for, hvad vi skal bruge vores komponenter til at gøre:
På dette tidspunkt kan vi teste disse komponenter ved at oprette et indeks. html fil i projektmappen og fylde den med følgende markup. (Du kan finde et simpelt stylesheet på GitHub):