Ali
3 سال پیش توسط Ali مطرح شد
0 پاسخ

Formik Debounce React

سلام دوستان من میخوام وقتی یوزر داره ثبت نام میکنه هروقت فیلد یوزرنیم تغییر کرده یه درخواست به بکند بدم و ببینم موجود هست یا ن
میخوام ببینم چه شکلی میتونم debounce کنم که 500ms صبر کنه کاربر بنویسه بعد درخواست به سرور بفرسته؟
کد ولیدیشن یوزرنیم

export async function validateUsername(value) {
  let error;
  if (!value) {
    error = "Required";
  } else if (!/^[a-zA-Z0-9._]{5,31}$/.test(value)) {
    error =
      "Username should be at least 5 characters and should be at correct format";
  } else if (document.activeElement.id === "username") {
    const usernameExists = await checkUsername(value); // this should be debounced!
    console.log("result username exists = ", usernameExists);
    if (usernameExists) {
      error = "This username has been taken";
    }
  }
  return error;
}

از debounce lodash استفاده کردم ولی به خوبی کار نمیکنه چون فکر نکنم برا این کار ساخته شده باشه نظری دارید دوستان ؟