next-i18nextで型をつける方法

2021-04-13

公式サイトに書かれている通りに実装すると、きちんと型が付与されました。

  1. next-i18nextSetup に沿って next-i18next を導入します
  2. react-i18nextCreate a declaration file に沿って型ファイルを生成します

注意点としては next-i18next の導入だからといって、型ファイルで import するパッケージを react-i18next から next-i18next へ変更しないようにしましょう。

next-i18next はあくまで Next.jsreact-i18nexti18next とつなげてくれるパッケージでしかありません。

そのため本質的な実装は react-i18nexti18next に入っており、そちら側の型をフォローしてあげる必要があります。

一応 react-i18next.d.ts の実装をば。

import "react-i18next"; import common from "./public/locales/en/common.json"; declare module "react-i18next" { interface Resources { common: typeof common; } }

これで型に困ることはなくなりそうです。

© 2018 kk-web