Hej, inni entuzjaści React! Jestem podekscytowany, aby podzielić się wglądem na to, jak używać haczyków z obsługą form w React. I hej, jestem także dostawcą haczyków, więc mam trochę wyjątkowego spojrzenia na ten temat. Zanurzmy się dobrze!


Po pierwsze, jeśli jesteś nowy w reagowaniu haczyków, są to w zasadzie funkcje, które pozwalają używać stanu i innych funkcji React bez pisania klasy. Są bardzo przydatne, szczególnie jeśli chodzi o obsługę form. Formularze są wszędzie w aplikacjach internetowych, a skuteczne obsługa ich jest kluczowe.
Zacznijmy od podstawowej koncepcji używania haczyków do obsługi form. Jednym z najczęściej używanych haczyków jest toUsstatehak. Pozwala zarządzać stanem pól formularzy. Na przykład, jeśli masz proste pole wprowadzania tekstu w swoim formularzu, możesz użyćUsstateAby śledzić wartość wprowadzoną przez użytkownika.
Import React, {usestate} from'React '; const prosteForm = () => {const [inputValue, setinputValue] = usestate (''); const handlechange = (e) => {setinputValue (e.target.value); }; const HandleSubmit = (e) => {E.PreventDefault (); console.log („przesłana wartość: ', inputValue); }; return (<forma onSubmit = {HandleSubmit}> <inpute type = "text" wartość = {inputValue} onChange = {Handlechange} zastępcza = "wprowadź coś"/> <butte }; Eksportuj Domyślny SimpleForm;
W tym kodzie najpierw importujemyUsstateHak z React. Następnie tworzymy zmienną stanuwartość wejściowai funkcjasetinputValueAby go zaktualizować. .Zmiana sklepuFunkcja jest wywoływana ilekroć typy użytkowników w polu wejściowym i aktualizuje stan o nowej wartości. Po przesłaniu formularza,Zgłoszenie handluDzienniki funkcji przesłana wartość.
Porozmawiajmy teraz o bardziej złożonych formach z wieloma pól. Możesz użyćUsstateDla każdego pola, ale to może stać się nieco niechlujne. Lepszym podejściem jest użycie obiektu do zarządzania stanem wszystkich pól.
Import React, {usestate} from'React '; const complexForm = () => {const [formData, setFormData] = usestate ({name: '', e -mail: '', message: ''}); const handlechange = (e) => {const {nazwa, wartość} = e.target; setFormData ((presvdata) => ({... Prevdata, [nazwa]: wartość})); }; const HandleSubmit = (e) => {E.PreventDefault (); console.log („formularz dane:”, formData); }; return (<forma onSubMit = {HandleSubmit}> <input type = "text" name = "name" value = {formData.name} onChange = {Handlechange} zamiennik = "name" /> <input type = "e -mail" name = "value" wartość = {formData.Email} onChange = {ręcznie. name = "message" wartość = {formData.message} onChange = {Handlechange} zastępca = "message"> </TextArea> <przycisk type = "przesyłanie"> prześlij </przycisk> </form>); }; Eksportuj domyślny kompleks;
Tutaj mamy obiektFormDataktóry przechowuje wartości wszystkich pól formularzy. .Zmiana sklepuFunkcja używa operatora rozprzestrzeniania się do aktualizacji stanu o nowej wartości pola, który zmienił użytkownik.
Kolejnym przydatnym haczykiem do obsługi form jestUżyj EFEFECThak. Możesz go użyć do wykonywania efektów niepożądanych po zmianie stanu formularza. Na przykład możesz weryfikować dane z formularza za każdym razem, gdy pole jest aktualizowane.
Import React, {Usestate, Useeffect} from'React '; const capelatedForm = () => {const [formData, setFormData] = usestate ({e -mail: ''}); const [isValid, setisValid] = usestate (false); const handlechange = (e) => {const {nazwa, wartość} = e.target; setFormData ((presvdata) => ({... Prevdata, [nazwa]: wartość})); }; Useeffect (() => {const e -mailRegex = /^ocy^\s@oru@lekt^\s@]. online^\s@oru/; setisValid (e -mailRegex.test (formData.Email));}, [formdata.email]); const HandleSubmit = (e) => {E.PreventDefault (); if (isValid) {console.log („prawidłowy formularz przesłany: ', formData); } else {console.log („nieprawidłowe dane formy”); }}; return (<forma onSubMit = {HandleSubMit}> <wejście type = "e -mail" name = "e -mail" wartość = {formData.email} onChange = {Handlechange} zastępcza = "e -mail"/> <button type = "przesyłanie" Disabled = {! isvalid}> przesyłać </button> </form>); }; Eksportuj DEALAUT CALTATEDFORM;
W tym przykładzieUżyj EFEFECTHook działa, gdy tylkoe-mailpole w formie zmiany stanu. Sprawdza, czy wiadomość e -mail jest ważna przy użyciu wyrażenia regularnego i aktualizujeIsvaleStan odpowiednio. Przycisk Przesyłania jest wyłączony, jeśli dane z formularza są nieprawidłowe.
Teraz, jako dostawca haczyków, chcę wspomnieć, że oferujemy szeroką gamę wysokiej jakości haczyków dla różnych aplikacji. Jeśli na przykład jesteś w branży supermarketów, mamy świetne opcje, takie jakHak na półce supermarketuiHaczyk do prostokątnej rurki. Te haczyki są zaprojektowane tak, aby były trwałe i funkcjonalne, podobnie jak haczyki React, o których mówiliśmy!
Jeśli chcesz kupić nasze haczyki lub masz pytania dotyczące tego, w jaki sposób mogą pasować do twoich projektów, nie wahaj się skontaktować na dyskusję na zamówienia. Jesteśmy tutaj, aby pomóc Ci znaleźć najlepsze rozwiązania dla Twoich potrzeb.
Podsumowując, używanie haczyków do obsługi formularzy w React może sprawić, że kod jest bardziej zorganizowany, łatwiejszy w utrzymaniu i bardziej wydajny. Niezależnie od tego, czy masz do czynienia z prostymi czy złożonymi formami, haczykami takimiUsstateIUżyj EFEFECTsą twoimi przyjaciółmi. A jeśli jesteś na rynku fizycznych haczyków, my też cię objęliśmy!
Odniesienia
- React oficjalna dokumentacja
- Różne samouczki i blogi React online
