0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

要約

kotlin-react-routerを6.16.0-pre634から6.17.0-pre635にする段階でimport react.router.Routeしようとしても、見つかりませんと言われるようになる。そもそもkotlin-react-routerからはlegacyとして削除されているのでreact.router.RouterProviderなどを用いて書き直すしかない。

環境

  • Ubuntu 20.04LTS
  • IntelliJ IDEA 2024.1.2 (Community Edition)
  • Kotlin/JS 1.9.24(IRコンパイラ)
  • Kotlin Wrappers 1.0.0-pre.755
  • kotlin-react-router-dom 6.23.1-pre.755
  • gradle 8.4

動機

前回のライブラリ更新からほぼ1年。Kotlin 2.0も出てきたし、いい加減 Kotlin 1.8 -> 1.9 に移行しておこうと思って各種ライブラリを更新し、kotlin-wrappersも更新の対象になった。

現象

kotlin-wrappersの更新をすると、react.router.Route, react.router.dom.BrowserRouter その他諸々がないと言われてコンパイル不可になった。

調査

今回はすぐに原因となるライブラリ更新が見つかった。その元となったissueを無理矢理3行で要約すると、

  • ユーザー: Routepathelementプロパティが使えないこと(前回の自分が記事にしたやつ)の指摘(2023/6/9)。
  • 開発者: 新しいAPIを使ってください(2023/6/25)
  • 開発者: Legacyは削除しました(2023/10/22)

ということで、前回のワークアラウンドは無駄になりましたとさ。

この記述を元にreact.router.RouterProviderreact.router.dom.createBrowserRouter辺りを使って書き直したら動いた。

考察

GitHubの履歴によると、6.16.0-pre634から6.17.0-pre635になった2023年10月21日のことだったらしい。

改訂履歴(表現の修正などは除く)

  • 2024/6/9: 作成
  • 2024/7/7: 時間が取れずサンプルコードを断念し公開
0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?