React Componentで外部リンクを開く際にtarget="_blank" rel="noopener"を付与する

公開日時
更新日時

ReactのComponentで、外部リンクを開く際に[[target="_blank" rel="noopener"]]を付与するようにしたい。

以下のようにすれば、条件に応じたプロパティの設定ができる。


const Link: React.FunctionComponent = ({ url, title }) => {
  const linkProps = url => {
    if (url.match("^http")) {
      return {
        target: "_blank",
        rel: "noopener"
      };
    }
    return {};
  };
  
  return (
    <a
      className="block w-full h-full"
      href={url}
      {...linkProps(url)}
    >
      {title}
    </a>
  )
}

参考


Related #js

AWS SESの受信メールを暗号化してs3に保存しLambdaで読み込む

jsの場合、複合処理を独自実装する必要がある

Next.jsのPreview Mode時はAnalyticsを無効化する

cookieの__next_preview_dataキーで判定

Next.js 11

手軽にアップグレードできた

VSCode Remoteで新規ファイルを作った際にTypescriptのPathが認識されない問題

「Ctrl + Shift + P」でコマンドパレットを開いて「Reload Window」を実行