邮件链接
渲染一个格式化的链接,用于发送邮件(mailto:链接)。
- 使用
email、subject和body属性创建一个带有适当href属性的<a>元素。 - 使用
encodeURIcomponent将subject和body安全地编码到链接URL中。 - 使用
children作为链接的内容进行渲染。
const Mailto = ({ email, subject = '', body = '', children }) => {
let params = subject || body ? '?' : '';
if (subject) params += `subject=${encodeURIComponent(subject)}`;
if (body) params += `${subject ? '&' : ''}body=${encodeURIComponent(body)}`;
return <a href={`mailto:${email}${params}`}>{children}</a>;
};
ReactDOM.createRoot(document.getElementById('root')).render(
<Mailto email="foo@bar.baz" subject="你好 & 欢迎" body="你好,世界!">
给我发邮件!
</Mailto>
);