Hey, arkadaş meraklısı tepki! React'te form taşıma ile kancaların nasıl kullanılacağı hakkında bazı bilgiler paylaşmak için stoklanıyorum. Ve hey, ben de bir Hooks tedarikçisiyim, bu yüzden bu konuda biraz benzersiz bir bakış açısı var. Hadi içeri girelim!


Öncelikle, kancaları reaksiyonda yeniyseniz, temel olarak bir sınıf yazmadan durum ve diğer React özelliklerini kullanmanıza izin veren işlevlerdir. Özellikle işleme formları söz konusu olduğunda süper kullanışlıdırlar. Formlar web uygulamalarında her yerdedir ve bunları verimli bir şekilde işlemek çok önemlidir.
Form işleme için kancaları kullanma konseptiyle başlayalım. Bunun için en yaygın kullanılan kancalardan biriUSSTATEkanca. Form alanlarınızın durumunu yönetmenizi sağlar. Örneğin, formunuzda basit bir metin giriş alanınız varsa, kullanabilirsiniz.USSTATEKullanıcı tarafından girilen değeri takip etmek için.
Import React, {usestate} 'den'React'; const SimpleForm = () => {const [inputValue, setInputValue] = usestate (''); const handlechange = (e) => {setInputValue (e.target.value); }; const HandLesubmit = (e) => {e.preventDefault (); console.log ('gönderilen değer:', inputValue); }; return (<form onsubmit = {handleSubmit}> <giriş türü = "text" değer = {inputValue} onchange = {handlechange} yer tutucu = "Bir şey gir"/> <button type = "gönder"> gönder </utton> </form>); }; Varsayılan SimpleForm'u dışa aktarın;
Bu kodda önceUSSTATEReact'den kanca. Sonra bir durum değişkeni oluşturuyoruzinputvalueve bir işlevsetinputvaluegüncellemek için. .Mağaza Değişikliğiİşlev, giriş alanındaki kullanıcı yazdığında çağrılır ve durumu yeni değerle günceller. Form gönderildiğinde,Ticaret Gönderisiişlev gönderilen değeri günlüğe kaydeder.
Şimdi, birden fazla alanla daha karmaşık formlar hakkında konuşalım. KullanabilirsinizUSSTATEher alan için, ancak bu biraz dağınık olabilir. Daha iyi bir yaklaşım, tüm alanların durumunu yönetmek için bir nesne kullanmaktır.
Import React, {usestate} 'den'React'; const compresseform = () => {const [formdata, setFormData] = usestate ({name: '', e -posta: '', mesaj: ''}); const handlechange = (e) => {const {name, değer} = e.Target; setFormData ((PrevData) => ({... PrevData, [name]: değer})); }; const HandLesubmit = (e) => {e.preventDefault (); console.log ('Form verileri:', formdata); }; return (<form onsubmit = {handleSubmit}> <giriş türü = "text" name = "name" değer = {formData.name} onchange = {handlechange} placholder = "name" /> <inputange} placholder = "e -posta" değeri = {formdata} placea} onchange = {formdata.email} onchange = {formdata.email} onchange = {formdata.email} onchange = {formdata name = "Mesaj" değer = {formdata.message} onchange = {handlechange} placeholder = "Message"> </stextarea> <button type = "gönder"> gönder </tton button> </form>); }; Varsayılan kompleks formu dışa aktarın;
Burada bir nesnemiz varformDataBu, tüm form alanlarının değerlerini saklar. .Mağaza Değişikliğiİşlev, durumu kullanıcının değiştirdiği alanın yeni değeri ile güncellemek için yayılma operatörünü kullanır.
Form işleme için bir başka yararlı kanca,kullanmakanca. Form durumu değiştiğinde yan etkiler gerçekleştirmek için kullanabilirsiniz. Örneğin, bir alan güncellendiğinde form verilerini doğrulamak isteyebilirsiniz.
İçe aktarma reaksiyonu, {usestate, useeffect} 'den'React'; const validatform = () => {const [formData, setFormData] = usestate ({e -posta: ''}); const [isValid, setIsValid] = usestate (false); const handlechange = (e) => {const {name, değer} = e.Target; setFormData ((PrevData) => ({... PrevData, [name]: değer})); }; useeffect (() => {const e -postaex = /^ [^\s@ Cialis+@ [^\s@ Cialis+@ [^^\s@ Cialis+/; setIsValid (e -postaex.test (formdata.email));}, [formdata.email]); const HandLesubmit = (e) => {e.preventDefault (); if (isValid) {console.log ('Geçerli form gönderildi:', formData); } else {console.log ('geçersiz form verileri'); }}; return (<form onsubmit = {handleSubmit}> <giriş türü = "e -posta" name = "e -posta" değer = {formdata.email} onchange = "e -posta"/> <button type = "gönder" devre dışı = {! isvalid}> gönder </button gönder }; Varsayılan ValidatedForm Dışa Aktar;
Bu örnekte,kullanmakanca ne zaman çalışıre -postaForm durumundaki alan değişir. E -postanın normal bir ifade kullanarak geçerli olup olmadığını kontrol eder veisvalBuna göre durum. Form verileri geçersizse Gönder düğmesi devre dışı bırakılır.
Şimdi, bir Hooks tedarikçisi olarak, farklı uygulamalar için çok çeşitli yüksek kaliteli kancalar sunduğumuzdan bahsetmek istiyorum. Örneğin, süpermarket endüstrisindeyseniz,Süpermarket raf hattı kancasıveDikdörtgen boru için kanca. Bu kancalar, tıpkı bahsettiğimiz React kancaları gibi dayanıklı ve işlevsel olacak şekilde tasarlanmıştır!
Kancalarımızı satın almakla ilgileniyorsanız veya projelerinize nasıl uyabilecekleri hakkında herhangi bir sorunuz varsa, bir tedarik tartışması için ulaşmaktan çekinmeyin. İhtiyaçlarınız için en iyi çözümleri bulmanıza yardımcı olmak için buradayız.
Sonuç olarak, React'te form taşıma için kancaları kullanmak, kodunuzu daha organize, bakımını kolaylaştırabilir ve daha verimli hale getirebilir. Basit veya karmaşık formlarla uğraşıyor olun, kancalarUSSTATEVekullanmasenin arkadaşların. Ve eğer fiziksel kancalar için pazardaysanız, sizi de ele aldık!
Referanslar
- Resmi Dokümantasyon
- Çeşitli çevrimiçi reaksiyon öğreticileri ve blogları
