21
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Next.jsの共通コンポーネントのPropsに型をつける方法

Last updated at Posted at 2020-08-18

コンポーネントのPropsに型がつけられない

レイアウトなどを共通コンポーネントを作成し、各コンポーネントで利用しようとすると、下記のようになるかと思います。

layout.tsx
const Layout = ({ children }) => {
  return (
    <>{children}</>
  );
};
export default Layout;

そうしますと、eslintや使っているIDE(vscodeなど)の設定によっては、childrenがanyであるという警告が出てしまうことがあります。

こう修正します

なるべく警告は消しておきたいので、型定義を行いたいと思います。
reactReactNodeが実体ですので、それを定義してあげる形となります。

layout.tsx
import { ReactNode } from "react";

interface Props {
  children: ReactNode;
}

const Layout = ({ children }: Props) => {
  return (
    <>{children}</>
  );
};
export default Layout;
21
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?