📢速報#
React 19 は 2024.12.05 に正式にリリースされました。
各自メディアが次々と情報を発信しており、フロントエンドに関心のある方は気づかざるを得ません。
勇哥はこれ以上詳しくは述べませんが、興味のある方は React の公式発表 を見るか、各自メディアの二次情報を探してみてください。
個人的な提案#
しかし、勇哥は提案します:会社のプロジェクトではまず React 19 を使わない方が良いです。自分で遊んで新機能を試すのは良いですが。
なぜかというと、一言で言えば:エコシステムがまだサポートしていないからです。
あなたは React 19 を自由に使うことができますが、新しい機能がたくさん追加され、古い機能はサポートされないと言われ、苦しむのは下流のエコシステムです。
以前は問題なく動いていたプロジェクトが、React 19 にアップグレードした途端、ビルド時に ESLint がさまざまなエラーを報告し、いくつかの機能がサポートされなくなります。あなたは午後中ずっと解決策を探し、夜の 20 時まで残業し、結局 React 18 に戻ることになります。痛い目に遭い、素直になります。
さて、速報、重大な変更です!
🙋♀️例を挙げましょう🌰#
信じない方もいるかもしれませんが、勇哥がいくつかの例を挙げます🌰:
Ant Design はかなり人気がありますが、大量に forwardRef を使用しており、React 19 では ref が props として forwardRef を使用しなくなります(将来的に削除される予定です)。Ant Design の公式は、現在は React 19 と互換性がない と直接伝えています。
どうですか?今のプロジェクトで Ant Design を使っていますか?素直に React 18.3 を使い続けましょう。数ヶ月後に Ant Design が React 19 をサポートするのを待ってから再検討しましょう。
もう一つ言いましょう。Framer Motion、React の最高のアニメーションライブラリが最近 Motion に改名されました。React 19 にアップグレードした後、ビルド時に多くのエラーが発生します。例えば「motion.div で className は使えない」と言われたら、誰に相談しますか?
後記#
歴史の車輪は常に前進し、誰のためにも止まることはありません。一つの技術、一つのフレームワークの発展は、他の要因によって停滞することはありません。私たちは技術で生計を立てているので、新しい技術を積極的に受け入れる必要がありますが、必ずしも最初に挑戦する必要はありません。道具が整ってから食べるのも遅くはありません。