1. ホーム
  2. reactjs

[解決済み] React の open mailto E-Mail クライアントの onClick で textarea から本文を取得する。

2022-02-11 09:25:28

質問

以前にも質問されたことがあるようなのですが、リアクトネイティブでのやり方しか見つかりませんでしたが 通常のreact for webではどうなっているのかがわかりませんでした。 . できれば ではなく のように、aタグやLinkタグなど、スタイルが必要なタグがある場合。

以下は、私がやりたいことを説明するためのコードです。

const onClickMailtoHandler = () => {
    //TODO: open default e-mail client e.g. via mailto link with text from (state) variable as body
}

<Button onClick={onClickMailtoHandler}>Send E-Mail</Button>

以下は、HTMLでmailtoリンクを行う方法です。

<a href="mailto:[email protected]?body=My custom mail body">E-Mail to Max Mustermann</a>

解決方法は?

結局、コメントで@GitGitBoomが提案したものと同じようなコンポーネントを作りました。

未来のシーカーのために、ここに。

import React from "react";
import { Link } from "react-router-dom";

const ButtonMailto = ({ mailto, label }) => {
    return (
        <Link
            to='#'
            onClick={(e) => {
                window.location = mailto;
                e.preventDefault();
            }}
        >
            {label}
        </Link>
    );
};

export default ButtonMailto;

このように使用します。

<ButtonMailto label="Write me an E-Mail" mailto="mailto:[email protected]" />