Solutie de gestionare a starii foarte simpla si puternica pentru React si Inferno.
(Inferno nu are suport pentru carlige, dar puteti utiliza componenta Abonare.)
Configurati-va magazinele si abonati-va la acestea. Usor ca asta!
Consultati postarea introductiva de pe blog.
npm instalati laco
npm install laco-react sau npm install laco-inferno
rezumat
- ???? Simplu de utilizat
- ???? Usor (sub 2 KB minimizat)
- Support Suport extensie partiala Redux DevTools (deplasare in timp)
Exemplu
Pentru mai multe exemple verificati urmatoarele sandbox-uri de cod de mai jos sau folderul de exemple.
Codificati cutii de nisip folosind carlige:
- Todo MVC
- Contor si comutare
Codificati cutii de nisip folosind recuzita de redare:
- Todo MVC
- Contor si comutare
Extensie Redux DevTools
Consultati extensia Redux DevTools.
Verificati postarea mea pe dev.to despre depanare etc.
Calatorie in timp
Doar faceti clic pe pictograma cronometru si veti obtine un glisor cu care va puteti juca. Asta este! 🙂
React Debugger nativ
Consultati React Native Debugger.
Calatorie in timp
Functioneaza asa cum v-ati astepta :)!
API
Magazin (initialState: Object, name ?: String)
Numele este optional si este utilizat pentru a obtine o prezentare generala a actiunii si a relatiei de stocare in Redux DevTools Extension. Numele actiunilor pentru Magazin vor aparea acum ca Counter – $ {actionType} in DevTools Extension unde, ca inainte, a fost afisat doar $ {actionType}.
Store.get ()
Returneaza un obiect care ar putea fi ceva de genul {count: 0} urmand exemplul.
Store.set (stare: Functie, informatii ?: Sir)
Store.replace (stare: Functie, informatii ?: Sir)
Imuabilitatea are grija intr-o anumita masura in culise cu operatorul spread cu Store.set (), dar s-ar putea sa doriti mai mult control asupra starii. Puteti face acest lucru folosind Store.replace () astfel:
Store.setCondition (conditie: Functie)
españolas guarras abuelas porno españolas
viejas con jóvenes follando a mi compañera de piso
nenas follando vende a su novia por dinero
porno con argumento viejas anales
corrida en el culo me follo a mi madre
orgasmosxxx porno espania
porno gay violacion follando en el monte
laura marano nude mujeres maduras corriendose
compartiendo novia tetas amaters
maduras follando y corriendose follando con mi amante
madurafollando videos chicas gratis
vidio xxxx amas de casa infieles
tetas en publico le pilla masturbandose
me follo a intercambio amateur
chicas altas follando videos ponos
follando despues de la fiesta porno loco
monica hoyos porno jovencitas muy calientes
pilladas playa putasfollando
maduras follando en español porno libre
come pollas porno caliente
setCondition ((state, actionType) => {if (state.count <0 && actionType === ‘Decrement’) {/ / Returnarea unei valori falsy va impiedica starea sa schimbe returnarea false} // Pentru orice alte `actionTypes`, cum ar fi` SudoDecrement` va schimba starea returnata de stat})
Setarea unei conditii intr-un magazin va face ca fiecare apel Store.set () sa treaca mai intai de conditie.
Store.reset ()
O buna practica atunci cand testati este sa apelati reset () pe un magazin inainte de a utiliza magazinul intr-un test. Acest lucru are grija de unele cazuri marginale in care ati putea intalni. Motivul pentru aceasta este ca Laco foloseste un obiect global din culise pentru a stoca toate starile magazinelor dvs. intr-un singur obiect mare. Redux functioneaza si pe un singur obiect global care face posibila calatoria in timp.
Store.dispatch (valoare: oricare, informatii: sir)
S-ar putea sa doriti sa trimiteti o actiune asociata unui anumit magazin, dar nu doriti sa schimbati starea. Actiunea va fi afisata in acest caz sub numele StoreName – Change location.
expediere (valoare: oricare, informatii: sir)
Poate doriti sa trimiteti o actiune globala care NU este asociata cu niciun magazin. In acest caz, actiunea va fi afisata doar ca modificare a locatiei.
getGlobalState ()
Returneaza obiectul global care detine fiecare stare – utilizat in cea mai mare parte pentru rehidratare atunci cand se efectueaza redarea de pe server (SSR).
resetGlobalState ()
Reseteaza starea globala la un obiect gol.
replaceGlobalState ()
Inlocuieste complet starea globala – cea mai mare parte utilizata pentru rehidratare atunci cand se efectueaza redarea de pe server (SSR).
<Abonare />
Recuzita
- la – Matrice de magazine la care doriti sa va abonati
Componenta Abonare foloseste noua idee de redare. Articole similare:
- Componenta Apollo Query
- Folositi un suport de redare!
useStore ()
useStores ()
Rehidratare
Atunci cand efectuati redarea pe partea de server (SSR), este important sa pastrati starea de la server la client.
Va rugam sa urmati acest ghid Redux.
Pe server: In loc sa faceti store.getState (), veti folosi doar getGlobalState ().
Pe client: In loc sa faceti createStore (counterApp, preloadedState) puteti sa inlocuiti GlobalState (pre-incarcatState)
Retineti ca incercarea de a face rehidratarea SSR poate introduce injectii JS daca nu o faceti corect.
Ghidul Redux il rezolva facand JSON.stringify (preloadedState) .replace (/ </ g, ‘\\ u003c’). Pentru o alta solutie, uitati-va aici.
Testarea
Testarea cu banda:
credite
Inspirat puternic de:
- Nedeclarat
- Redux








