export defaultが設定されているモジュールをasでimportする方法

公開日時

next/headを使うと、サイト共通で利用するmetaタグやtitleを一つのコンポーネントにまとめることができる。

カスタマイズしたHeadのコンポーネント名もHeadとしてexportしたいとなった時に、export defaultが設定されているモジュールをasでimportする方法が分からなかったので調べた。

以下のように[[import { default as XXXX } from]]とすることで別名が使えた。

import { default as NextHead } from 'next/head'
import React from 'react'

type Props = {
  title?: string
}

export const Head = ({ title }: Props) => {
  const defaultTitle = process.env.NEXT_PUBLIC_SITE_NAME

  return (
    <NextHead>
      <title>{title || defaultTitle}</title>
    </NextHead>
  )
}

参考


Related #next.js

Next.js使用時にrecoil-persistのStorageを変更する

クライアント側で実行された場合のみstorageを指定するようにした

Next.jsで環境に応じて特定のページを非表示にする

NODE_ENVでredirectsを出し分けた

Next.jsで動的URLをRewriteする

next.config.jsにrewritesを追加

Next.js + typescriptでpathsのエイリアスがModule not foundになる

next.config.jsに追記する必要があった

Next.js + Algoliaで全文検索UIを実装する

react-instantsearchを利用