89734


create react appで作られたversion 16のreact applicationにtypescriptを追加しています。  
@types/reactと@types/react-
domのversionについて、最新のv.18をインストールしたのですが、本体とversionが異なることが問題となるか教えていただきたいです。


CC BY-SA 4.0
2022-07-02T07:33:55.327
89721
2022-07-03T05:51:01.743
53321
question
reactjs typescript
@types/reactとreactのversionが違うと問題でしょうか


基本的には、Versionは揃えるが正解のようだ。

型定義ファイルを自動でinstallしてくれる[typesync](https://github.com/jeffijoe/typesync)が便利そう。


CC BY-SA 4.0
2022-07-03T02:03:20.880
89728
2022-07-03T02:03:20.880
53321
89721
answer


Semantic versioning
で言うところのメジャーバージョンとマイナーバージョンまでは揃えると良いです。パッチバージョンは最新まで上げてしまって大丈夫です。

[`@types/react`](https://www.npmjs.com/package/@types/react) は
[DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped)
によって管理されている型定義ファイルのライブラリです。そして DefinitelyTyped の README
に、提供するライブラリのバージョンについて以下のとおり書かれています：

> This is because only the major and minor release numbers are aligned between
> library packages and type declaration packages. The patch release number of
> the type declaration package (e.g. `.0` in `10.12.0`) is initialized to zero
> by Definitely Typed and is incremented each time a new `@types/node` package
> is published to npm for the same major/minor version of the corresponding
> library.

<https://github.com/DefinitelyTyped/DefinitelyTyped#how-do-definitely-typed-
package-versions-relate-to-versions-of-the-corresponding-library>

つまり、たとえば `react` バージョン 16.9.0 をお使いなのであれば、`@types/react` の方は v16.9
系列のうちパッチバージョンが一番大きいもの（この回答が書かれた時点だとバージョン 16.9.56）を使えば良いです。


CC BY-SA 4.0
2022-07-03T05:51:01.743
89734
2022-07-03T05:51:01.743
19110
89721
answer