Closed3
TypeScriptのアップデートでエラー
React
のビルドで以下のエラーが出たため、TypeScript
のバージョンアップをします。
> 1 | "Package 'graphql' support only TS versions that are >=4.1.0".
現在の状態は以下の通りです。
"typescript": "~3.8.2",
ちなみに忘れがちなのでメモ。
というわけでファイルを修正し、パッケージを再インストールします。
package.json
- "typescript": "~3.8.2",
+ "typescript": "~4.1.0",
再インストール
$ yarn install
$ rm -rf node_modules # 本来いらないが、以下のエラーを出すため
$ yarn build
# 一部省略・・
Failed to compile.
./src/state/usecase/hoge/api.ts
Line 0: Parsing error: Cannot read properties of undefined (reading 'map')
エラー・・
こちらが参考になりそうです。
該当のエラーが出たコードは以下のようになっていました。
export type ResponseType = {
users: [{
name: string
}]
}
TypeScript
の4.0より、上記の定義ではusers
は配列ではなくタプルとなるようです。
const a: string[] = ["hoge"]; // 配列
const b: [string] = ["hoge"]; // タプル
配列とタプルの違いについてはググっていただくとして、おそらく上記の理由によりコンパイルエラーになった・・ように思います。
というわけで、修正方針としては以下のようになります。
// User typeを定義
type User = {
name: string
}
// レスポンスの方を[{name: string}]からUser[]に変更する
export type ResponseType = {
users: User[]
}
このスクラップは2023/01/11にクローズされました