Введение
В этом практическом занятии (лабораторной работе) мы научимся создавать компонент Email Link в React, который генерирует ссылку, форматированную для отправки электронного письма. Этот компонент будет использовать формат ссылки mailto: и будет принимать пропсы (props) для получателя письма, темы письма и текста письма. Мы также научимся безопасно кодировать тему и текст письма с использованием encodeURIComponent.
Ссылка для отправки электронной почты
Файлы
index.htmlиscript.jsуже предоставлены в виртуальной машине (VM). Как правило, вам нужно добавить код только в файлыscript.jsиstyle.css.
Эта функция создает ссылку, при нажатии на которую открывается почтовый клиент пользователя и заполняется новое письмо с указанной темой и текстом. Ссылка форматируется с использованием протокола mailto:.
Для использования функции укажите пропс (prop) email с адресом электронной почты получателя и, по желанию, укажите пропсы subject и body для заполнения письма начальным содержимым. Эти пропсы безопасно кодируются с использованием encodeURIComponent перед добавлением в URL ссылки.
Ссылка отображается с предоставленным содержимым children.
const Mailto = ({ email, subject = "", body = "", children }) => {
const params =
subject || body
? `?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(
body
)}`
: "";
return <a href={`mailto:${email}${params}`}>{children}</a>;
};
Пример использования:
ReactDOM.createRoot(document.getElementById("root")).render(
<Mailto email="foo@bar.baz" subject="Hello & Welcome" body="Hello world!">
Mail me!
</Mailto>
);
Нажмите на кнопку 'Go Live' в правом нижнем углу, чтобы запустить веб-сервис на порту 8080. Затем вы можете обновить вкладку Web 8080, чтобы предварительно просмотреть веб-страницу.
Итог
Поздравляем! Вы завершили практическое занятие (лабораторную работу) по созданию ссылки для отправки электронной почты. Вы можете попрактиковаться в выполнении других практических занятий в LabEx, чтобы улучшить свои навыки.