Prilikom kreiranja web aplikacije možete naići na situacije kada trebate pratiti trenutno stanje vidljivosti. To se događa da trebate reproducirati ili obustaviti učinak animacije ili video zapisa, smanjiti intenzitet ili pratiti ponašanje korisnika za analitiku. Na prvi pogled ova se značajka čini prilično jednostavnim za prodaju, ali nije baš tako. Praćenje aktivnosti korisnika - prilično kompliciran proces.
Postoji stranica sa stranicama API, koji u većini slučajeva funkcionira sjajno, ali ne obrađuje sav mogući nevidljivost kartice pretraživača. Page Vidljivost API šalje događaj vidljivost, tako da slušatelji znaju da se stranica sa vidljivošću promijenila. Ne pokreće događaj u nekim slučajevima ako je prozor ili tablica preglednika skrivena iz vida. Da biste podneseli neke od ovih slučajeva, moramo koristiti kombinaciju fokus i zamagljivanje događaja u dokumentu i prozoru.
Dakle, iz ovog člana naučit ćete kako stvoriti jednostavnu reaktnu komponentu koja prati stranicu sa vidljivošću.
Korake
Da biste kreirali aplikaciju React, ovdje će se koristiti CodesanDbox (možete koristiti i CREAT-REACT-APP). Stvorit ćemo malu aplikaciju u kojoj će se video zapis HTML5 elemenata biti reproduciran samo ako je kartica pretraživača u fokusu ili aktivnom, u protivnom će se on automatski suspendirati. Video Koristi se za olakšavanje ispitivanja aplikacijskih funkcija.
jedan. Započnite s kreiranjem najjednostavnijeg dijela, odnosno komponentni video. To će biti jednostavna komponenta s boolejskim aktivnim i string SRC parametrima koji sadrže URL za video. Ako je aktivni rekvizit istinite, igrat će se video. Inače će biti zaustavljen.
2. Kreirajte jednostavan videozapis i elemente i elemente sa svojim izvornim brojem hostinga url koji se prenosi pomoću SRC-a. Evo novog REF API-a za priložite veze za video dom-čvor. Konfigurirat ćete video na AVTO reprizi, pretpostavljajući da kada započnemo aplikaciju, stranica će biti aktivna.
Safari ne reprodukuje automatski multimedijski elementi bez interakcije korisnika. Konfortudtate metoda je vrlo zgodna pri obradi efekata kada se komponentne imovine mijenjaju. Stoga će se ova metoda ovdje koristiti za reprodukciju i obustavu videa na osnovu trenutne vrijednosti ovog.Pros.Aktivno.3. Kreirajte uslužni program funkcije. Razlike u prefiksima preglednika nisu uvijek prikladne za korištenje određenog API-ja i jedan od njih. Stvorit ćemo jednostavnu uslužnu funkciju koja će riješiti ove razlike i vratiti jedan API na osnovu korisničkog pretraživača. Kreirajte i izvozite ovu funkciju sa stranicaBriblesiutiutilsa.JS u SRC imeniku.
U ovoj značajci koristit ćemo izjavu IF-ELS-a da vratimo API sučelje specifične za pretraživač. Može se vidjeti da dodajemo prefiks MS za Internet Explorer i WebKit prefiks za WebKit pretraživače. Željeni API ćemo pohraniti u skrivene i vidljivost varijable i vratiti ih iz funkcije kao jednostavnog objekta. Konačno, izvozimo funkciju.4. Dođite do glavne komponente. Kapsuliramo sve stranice vidljivosti za praćenje logike u klasi reakcije klase pomoću predloška Render rekvizite. Kreirajte komponentu klase sa vidljivošću. Ova komponenta će se baviti dodavanjem i brisanjem svih događanja na osnovu Dom slušatelja.
pet. Započnite uvozom prethodno stvorene pomoćne funkcije i nazovite ga da biste dobili pravu API-je. Zatim kreirajte reaktni komponentu i inicijalizirajte njegovo stanje s jednom učinjenom instaliranom u TRUE. Ovo Boolean polje bit će odgovorno za stanje vidljivosti stranice.
6. U komponentamaDidmount Addget slušatelja na dokument za vidljivostKange pomoću ove metode.RučnikovljivostKange kao bager. Takođe dodajte slušatelja događaja za događaje fokusa i zamućenja u dokumentu, kao i element prozora. Ovog puta instaliramo ovo.ForcesibilityTrue i ovo.ForcesibilityFalse kao rukovodioci za događaje Fokus i zamućenje.
7. Zatim kreirajte metodu ručnog ručica koja uzima argument za ForceFlag. Argument ForceFlag koristit će se za utvrđivanje je li metoda uzrokovana zbog događaja ili fokusa i zamućenja vidljivosti. To je zato što metode nalik na snazi u naljuticibilnosti ne rade ništa osim metode rukovodilobibibibilnosti s istinitim i lažnim vrijednostima za siluFlag.
osam. Unutar metode upravljanja ručicama, prvo provjerite da li je vrijednost logičkog argumenta Forceflag (ako se zove iz rukolažene mjeri za navođenje događaja, preneseni argument bit će objekt za sintetičarski list).
Ako je to logira, provjerite, istina je ili lažna. Kada je vrijednost istinita, nazovite metodu setvisity s istinitim ili nazovite lažnu metodu. Metoda sertivilnosti koristi ovo.Način setstate za ažuriranje isvizivne vrijednosti u stanju komponenata.Ako Forceflag nije boolean, provjerite vrijednost skrivenog atributa u dokumentu i nazovite metodu setvisity u skladu s tim. Završava logiku praćenja statusa stranice.devet. Napravite višestruku komponentu. Da biste to učinili, koristite obrazac rekvizite na renderu. To jest, umjesto da prikaže komponentu iz načina rendera, to nazivamo.Pros.Djeca kao funkcija s ovim.Stanje.isvizivno.
10. Instalirajte aplikaciju React u dom u datoteci indeksa.JS. Uvezite dva react VidrialManager i video komponente i stvorite komponentu aplikacije povezivanjem njih. Prenosimo funkciju kao dječiji element komponente vidljivosti iznosi, koji poprima izmijenjeno i prenosi ga u video komponentu na izlazu. Takođe prenosimo video URL kao SRC za video komponentu. Ovako se komponenta vizeblema zasniva na renderu. Na kraju koristimo metodu reactdom.Render za prikazivanje aplikacija na Dom-čvoru sa "root" identifikatorom.