Reactjs Проблема с типом контактного параметра - PullRequest
0 голосов
/ 14 апреля 2020
const ValidateLogin = (contact) => {
    let errors = {};
    if (!contact.email) {
    } else if (!/\S+@\S+\.\S+/.test(contact.email)) {
        errors.email = "Email address is invalid";
    }
    if (!contact.password) {
        errors.password = "Password is required";
    } else if (contact.password.length < 10) {
        errors.password = "Password needs to be more than 10 characters";
    }
    return errors;
}

export default ValidateLogin

Я получаю сообщение об ошибке (contact): параметр contact неявно имеет тип any. а также по электронной почте и паролю: свойство 'email' не существует для типа '{}'.

1 Ответ

0 голосов
/ 14 апреля 2020

Вы должны определить интерфейс или псевдоним типа для контакта с необходимыми свойствами. Вот как вы можете это сделать:

interface Contact {
  email: string;
  password: string;
  // include other required properties
}

type Error = Partial<Contact>;

const ValidateLogin = (contact: Contact) => {
  let errors: Error = {};
  // rest of the code
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...