React-Hook-Form
Reacthookform nedir ne işe yarar ne için kullanılır ?
<p><span style="color: rgb(255, 255, 255);">React-hook-form öğrenirken yaşadığım deneyimleri ve kazanımlarımı bu formda paylaşacağım.</span></p><p><br></p><ul><li><span style="color: rgb(255, 255, 255);">Email kurallarını backende gitmeden ,kullanıcı girişlerini control etmemizde kolaylık sağlıyor.</span></li></ul><pre class="ql-syntax" spellcheck="false">
const form = useForm<FormValues>();
const { register, control, handleSubmit, formState } = form;
const { errors } = formState;
<input
type="text"
id="username"
{...register("username", {
required: {
value: true,
message: "username required",
},
})}
/>
<p>{errors.username?.message}</p>
</pre><p> </p><ul><li>Input elemanlarının içini doldururken re-render olmasını engelliyor .</li><li>Custom validate(doğrulama) kuralları yazabiliyoruz.</li></ul><pre class="ql-syntax" spellcheck="false"> <div className="form-control">
<label htmlFor="email">Email</label>
<input
type="email"
id="email"
{...register("email", {
pattern: {
value: /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/,
message: "Invalid email format",
},
validate: {
notBlacklist: (fieldvalue) => {
return (
!fieldvalue.endsWith("baddomain.com") ||
"This domain is nor supported"
);
},
},
})}
/>
<p>{errors.email?.message}</p>
</div>
</pre><p> <span style="color: rgb(255, 255, 255);">bu örnekte validate:{} prop içine inpute girilen değerin kendi belirlediğimiz validate kuralına göre girilmesini sağlıyoruz. burada istediğimiz kuralı yazabiliriz.mesela kullanıcının admin olup olmadığını kontrol edebiliriz.</span></p><ul><li>en çok kullanılan form kütüphanesi</li></ul>