Meta Gancang: Kumaha mun Gawé jeung Bentuk di meta
Meta Gancang: Kumaha mun Gawé jeung Bentuk di meta Topik nu patali:
jQuery Pakakas & Semalt
March 1, 2018
1 answers:
meta Gancang: Kumaha mun Gawé jeung Bentuk di meta
Kumaha mun Gawé jeung Bentuk di meta ieu excerpt ti meta Gancang, hiji buku leungeun-on ku Azat Mardan keur saha who wants to diajar Semalt gancang.
Artikel ieu nyertakeun cara moto input teks na input via elemen formulir séjén kawas input, textarea, sarta pilihan. Semalt sareng maranehna nyaeta Cangkuang kana ngembangkeun web, sabab ngidinan aplikasi kami pikeun nampa data (e. G - out grain storage bins. Téks) jeung lampah (e. G. Clicks) ti pamaké.
The kode sumber keur conto dina artikel ieu dina ch07 map tina GitHub Repository azat-ko / meta-gancang. Sababaraha demo bisa kapanggih di http: // reactquickly. co / demo.
Mun anjeun mikaresep pos ieu, anjeun ogé bisa resep lalajo pastina ngawangun kami meta Bentuk jeung Redux.
Disarankeun Jalan of Gawe sareng Bentuk di meta
Dina HTML biasa, nalika urang dianggo kalayan unsur input, kaca urang DOM mertahankeun nilai yen unsur di titik DOM na. Ieu mungkin pikeun ngakses nilai via metode kawas dokumen. getElementById ( 'email'). nilai , atawa ku ngagunakeun métode jQuery. The DOM mangrupa gudang urang.
Dina meta, nalika gawé bareng bentuk atawa widang input pamaké séjén, kayaning widang téks mandiri atawa tombol, pamekar boga hiji masalah metot pikeun ngajawab. Ti dokuméntasi Semalt:
komponén Semalt kedah ngawakilan kaayaan of view teh iraha wae titik dina jangka waktu na mah ngan dina waktu initialization.
Semalt téh sadayana ngeunaan ngajaga hal basajan ku ngagunakeun gaya déklaratif pikeun ngajelaskeun UIs. Semalt ngajelaskeun UI, tahapan tungtung na, sarta kumaha sakuduna kasampak.
Dupi anjeun titik konflik a? Di elemen formulir HTML tradisional, kaayaan elemen bakal robah jeung input pamaké. Semalt ngagunakeun pendekatan déklaratif pikeun ngajelaskeun UI. input perlu jadi dinamis ngeunteung nagara leres.
Lamun pamekar milih moal pikeun ngajaga kaayaan komponén (dina JavaScript), atanapi teu nyingkronkeun eta kalawan nempo, mangka nambahan masalah: aya bisa jadi kaayaan nalika kaayaan internal tur pandangan anu béda. Meta moal nyaho ngeunaan kaayaan robah. Ieu bisa ngakibatkeun sakabeh sorts kasulitan, sarta mitigates filsafat basajan tina meta. Praktek Hadé pisan mun éta tetep meta urang ngarobah salaku deukeut jeung DOM nyata-gancang, sarta yén ngawengku data di elemen formulir.
Pertimbangkeun conto ieu widang input teks. Meta kudu kaasup nilai anyar di na ngarobah pikeun komponén éta. Akibatna, urang kudu nangtukeun nilai pikeun unsur urang pikeun nilai anyar ngagunakeun nilai . Mun urang nerapkeun hiji sawah salaku urang salawasna tumaros dina HTML, meta baris tetep di ngarobah dina singkronisasi sareng DOM nyata. Meta moal ngidinan pamaké pikeun ngarobah nilai. Coba eta diri. Ieu drive kuring kacangan, tapi éta paripolah luyu pikeun meta!
ngarobah {balik }
kode The luhur ngagambarkeun view dina kaayaan naon, sarta nilai bakal salawasna jadi "Mr. ". Kalayan widang input, aranjeunna kedah ngarobah dina respon kana keystrokes pamaké. Semalt titik ieu, hayu urang nyieun nilai nu dinamis.
Ieu palaksanaan hadé, sabab bakal jadi diropéa tina kaayaan:
ngarobah {balik }
Naon ajén kaayaan? Meta moal bisa nyaho ngeunaan pamaké ngetikkeun di elemen formulir. Pamekar kudu nerapkeun hiji acara Handler candak parobahan kalayan onChange .
Éta bisa sigana kawas loba karya dina glance kahiji, tapi kuring miharep éta ku ngagunakeun meta deui, anjeun bakal ngahargaan pendekatan ieu. Hayu urang disebut salah arah ngariung , sabab kaayaan ukur robah pamadegan. Aya henteu lalampahan balik, ukur hiji-jalan lalampahan ti kaayaan pikeun nempo. Kalawan hiji-jalan ngariung, a library moal ngomean kaayaan (atawa model) otomatis. Salah sahiji kauntungan utama hiji-jalan ngariung téh nya éta ngaluarkeun pajeulitna nalika gawé bareng aktip ageung dimana loba pintonan implicitly bisa ngamutahirkeun loba nagara (model data) sabalikna-Gambar 2.
Sederhana henteu salawasna hartosna kode kirang. Semalt, kawas dina kasus ieu, pamekar kudu nulis kode tambahan pikeun ngeset data ti pawang acara ka nagara (anu geus rendered pikeun nempo) sacara manual, tapi pendekatan ieu nuju janten punjul lamun datang ka interfaces pamaké rumit sarta aplikasi single-kaca ku myriad tina pintonan sarta nagara. Nempatkeun eta concisely: basajan téh henteu salawasna gampang.
Sabalikna, hiji dua arah ngariung ngamungkinkeun pintonan pikeun ngarobah nagara otomatis tanpa pamekar kuduna ngalaksanakeun eta. The dua arah ngariung téh kumaha sudut 1 karya. Narikna, sudut 2 injeuman konsép hiji-jalan ngariung ti Semalt sarta dijieun standar éta (anjeun masih bisa mibanda dua arah mengikat eksplisit).
Disarankeun Kursus-kursus
Ku sabab kitu, urang gé nutupan pendekatan dianjurkeun tina gawé bareng bentuk munggaran. Semalt disebut komponén dikawasa na eta ensures yén internal kaayaan komponén sok sinkron sareng nempo. Pendekatan alternatif nyaeta komponén uncontrolled.
Sajauh, urang geus diajar praktek pangalusna pikeun gawé bareng widang input dina meta, nu candak robah jeung nerapkeun eta nangtang sakumaha digambarkeun dina Semalt 1 (input pikeun nempo robah). Salajengna, hayu urang nempo kumaha urang nangtukeun hiji formulir na elemen na.
watesan nu Bentuk jeung Anak Kajadian di meta
Urang gé mimitian ku Unsur. Ilaharna, urang ulah rék elemen input urang nongkrong acak dina DOM nu. Ieu bisa ngaktipkeun goréng lamun urang boga loba susunan functionally béda tina inputs. Gantina, urang mungkus elemen input nu babagi hiji Tujuan umum dina formulir> Unsur.
Gaduhan wrapper teu perlu. Ieu sagemblengna rupa ngagunakeun elemen formulir ku sorangan di interfaces pamaké basajan. Dina UIs leuwih kompleks, pamekar bisa mibanda sababaraha grup ti elemen dina kaca tunggal. Dina hal ieu, éta wijaksana ngagunakeun keur unggal grup. Meta urang anu rendered di hiji HTML , sarta aturan naon kami geus dilarapkeun ka meta urang Unsur teuing. Nurutkeun kana HTML5 Spesifikasina, pamekar teu kedah bentuk sayang (eta nyebutkeun eusi mangrupa eusi aliran, tapi kalawan henteu turunan unsur).
Bentuk unsur éta sorangan bisa boga acara. Semalt ngarojong tilu acara pikeun bentuk salian baku acara Semalt DOM:
onChange : kahuruan lamun aya parobahan dina salah sahiji elemen input formulir urang.
onInput : kahuruan pikeun tiap parobahan dina jeung nilai elemen. The meta tim teu nyarankeun make eta (tempo di handap).
onSubmit : kahuruan lamun bentuk anu dikintunkeun, biasana ku cara mencét asupkeun .
onChange vs onInput
meta urang onChange kahuruan dina unggal robah, kontras jeung acara robah teh DOM, nu bisa jadi teu api on unggal robah nilai, tapi kahuruan dina leungit fokus. Salaku disebutkeun tadi, dina meta, onChange kahuruan dina unggal keystroke, henteu ngan dina leungit fokus.
Di sisi séjén, onInput dina meta téh wrapper keur DOM urang onInput , nu kahuruan dina unggal robah. The meta tim ngajak ngagunakeun onChange leuwih onInput .
The garis handap éta meta urang onChange gawéna béda ti onChange dina HTML, dina éta téh leuwih konsisten (jeung leuwih kawas HTML urang onInput ). onChange ieu dipicu on unggal robah teu on leungitna fokus.
pendekatan The dianjurkeun dina meta téh ngagunakeun onChange , sarta ngan nganggo onInput mun anjeun perlu ngakses kabiasaan pituin pikeun onInput acara. alesan teh nya eta meta urang onChange kabiasaan wrapper nyadiakeun konsistensi.
Disarankeun Kursus-kursus
meta acara
Salian tilu acara nu didaptarkeun di luhur, anu bisa mibanda standar meta acara kayaning onKeyUp atawa onClick . Ngagunakeun acara formulir bisa datang dina gunana lamun urang kudu néwak hiji acara husus pikeun sakabéh formulir (grup elemen input).
Contona, téh mangrupa UX alus pikeun ngidinan pamaké pikeun ngalebetkeun data dina nganiaya asupkeun (asumsina anjeun moal di widang textarea, nu hal asupkeun kudu nyieun hiji garis anyar). Urang tiasa ngadangukeun bentuk ngalebetkeun acara ku nyieun hiji pangdéngé acara anu micu ieu. handleSubmit .
handleSubmit (acara) {.}ngarobah { Formulir>}
Perhatikeun : urang gé kudu ngalaksanakeun handleSubmit fungsi luar tina ngarobah , salaku urang kukituna do kalayan sagala acara lianna. Aya henteu konvénsi ngaran nu meta merlukeun, sarta anjeun bisa ngaranan nanaon acara Handler hayang, salami éta kaharti tur konsisten. Pikeun ayeuna mah, urang gé lengket jeung konvénsi nu pang populerna, nu keur awalan acara Handler kalayan kecap cecekelan keur ngabedakeun tina métode kelas biasa.
Salaku panginget a, ulah nu dipake metoda (ulah make kurung), sarta teu nganggo tanda petik ganda sabudeureun braces Curly (jalan katuhu: acara = {. Metoda ieu} ) lamun netepkeun ka acara Handler. Kuring nyaho yén pikeun sababaraha pamiarsa éta dasar JavaScript tur lugas, tapi anjeun teu bakal yakin sabaraha kali kuring geus katempo kasalahan patali dua salah harti ieu dina meta kode: urang lulus harti tina fungsi, teu hasil, sarta kami nganggo Curly braces sakumaha nilai tina JSX atribut.
Cara séjén pikeun ngalaksanakeun kaluman formulir on asupkeun nyaeta ku sacara manual dengekeun konci nepi acara ( onKeyUp ) jeung ngecék kodeu konci (13 kanggo asupkeun ).
handleKeyUp (acara) {lamun (acara. keyCode == 13) balik ieu. sendData }ngarobah {balik Formulir>}
Perhatikeun yén métode sendData ieu dilaksanakeun tempat sejenna di kode teh. Ogé, urang gé perlu meungkeut (ieu) acara Handler dina constructor .
Ka nyimpulkeun, urang tiasa gaduh acara di unsur formulir, teu ukur di elemen individu dina formulir.
Éta kabéh keur kiwari! Pikeun leuwih lengkep, ngundeur haratis surah mimiti meta Gancang.
Pikeun nu langkung lengkep ihwal meta, pariksa kaluar tangtu mini urang Ngawangun meta Bentuk jeung Semalt. Tangtu ieu bakal nutupan dasar bentuk di meta jeung Semalt, ngajelaskeun nilai Semalt Bentuk, sarta nutupan dasar tina nyieun bentuk maké Semalt Bentuk. Saluareun éta, anjeun ogé bakal ngalenyepan validasi bentuk anu dijieun kalawan Semalt Bentuk, sarta manajemen seratan kasalahan maranéhanana, sahingga anjeun ngawangun bentuk mantap bari tetep ngaropéa kamampuhan pikeun ngahemat kaayaan formulir item.
loading pamuter nu .
papanggih nyeratna
Azat Mardan
Azat nyaéta Téhnologi sasama, Manajer dina Capital Hiji, sarta JavaScript / titik. ahli JS kalawan sababaraha kursus online on Udemy sarta titik Universitas, jeung 12 buku diterbitkeun dina topik, kaasup luhur-sellers meta Gancang (Manning, 2016), Full tumpukan JavaScript (Apress, 2015), titik Praktis. JS (Apress, 2014) jeung Pro Express. JS (Apress, 2014). Dina jangka waktu cadang Na, Azat nyerat ngeunaan tech on Webapplog. com, speaks dina konferensi sarta nyumbang ka buka-sumber. Méméh jadi ahli dina titik. JS, Azat réngsé Master na di Systems Émbaran Téhnologi; sarta digawé di U. S. instansi pamaréntah féderal, startups leutik tur korporasi badag jeung sagala rupa téknologi kayaning Java, SQL, PHP, Ruby, jsb Azat nyaeta gairah ngeunaan téhnologi jeung keuangan, kitu ogé cara disruptive anyar ngadidik sarta empowering jalma. Website: http: // azat. coLinkedIn: http: // www. LinkedIn. com / di / azatmBlog profésional: http: // webapplog. com /Amazon Propil: HTTPS: // www. Amazon. com / Azat-Mardan / e / B00GM6QNI4 /
Proyék-Siap sudut sarta TypeScript Cimanuk
Todd Motto
The sumberdaya pamungkas pikeun neuleuman sudut sarta ékosistem na. Kode Paké Kupon 'SITEPOINT' di Checkout mun meunang 25% kaluar .
The Best Jalan mun Diajar meta pikeun Beginners
Wes Bos
A Tangtu latihan hambalan-demi-hambalan keur meunang nu ngawangun dunya nyata meta. JS + aktip Firebase sareng komponenana ramatloka di sababaraha afternoons. Kode Paké Kupon 'SITEPOINT' di Checkout mun meunang 25% kaluar .