created: 2022-07-04T05:05:31.296Z
props(引数)のないコンポーネントを定義したいときの型定義
React.VFC<{}>
という型でコンポーネントを定義しようとすると
const C: React.VFC<{}> = () => {
@typescript-eslint/ban-types
にこんな警告が表示される。
Don't use `{}` as a type. `{}` actually means "any non-nullish value".
- If you want a type meaning "any object", you probably want `Record<string, unknown>` instead.
- If you want a type meaning "any value", you probably want `unknown` instead.
- If you want a type meaning "empty object", you probably want `Record<string, never>` instead.eslint@typescript-eslint/ban-types
これが自分のやろうとしていたことに該当した。ええとすいません。そうです。
- If you want a type meaning "empty object", you probably want
Record<string, never>
instead.
「props(引数)のないコンポーネント」を定義したいときはこのような型をつけるのが正しいとのこと。
const C: React.VFC<Record<string, never>> = () => {