Вы не хотите иметь один с состоянием email
, а скорее emails
(массив писем):
const [emails, setEmails] = useState([]);
Чтобы затем добавить электронное письмо, возьмитепредыдущие электронные письма и добавьте одно:
setEmails([...emails, "new.email@example.com"]);
Замена электронного письма работает так же:
setEmails(emails.map(prev => prev === "previous@example.com" ? "new@example.com" : prev));
Теперь вы должны также обработать все эти электронные письма, для этого вы можете отобразить массивотправляет электронные письма в массив компонентов и возвращает их от вашего компонента:
return emails.map(email => <p> {email} </p>);
Возможно, вы захотите вместо этого взглянуть на useReducer
, это будет гораздо элегантнее ...