こんにちは。React.jsをはじめて使用する人は様々な問題に出会うかもしれません。ここでは、 はじめてReact.jsに触る人がハマりがちなこと(1) について挙げます。
React.jsにはじめて触る人がハマりがちな問題の1つが、「ライブラリのバージョン不整合」です。今回はありがちなケースをご紹介します。
一般的に言って、新しいライブラリについて調べたり、サンプルを動かしてみたりするときは、そのライブラリの最新版を使用するのが最善です。ただし、調べて出てきた内容がちょっと古かったりすると、バージョンを上げてしまうことは潜在的なリスクに繋がることもあります。
リスク回避のために取れる方法はいくつかあります。
例えば、利用中の環境に正式に対応したライブラリのバージョンを使う。
フォーラムを探索して、そのライブラリのどのバージョンが一番安定しているのか評判を確かめる。
そのライブラリはまだメンテナンスしているプロジェクトメンバーがいるのか調べてみること。更新日が3年以上前のライブラリを使おうとするのはかなり無謀といえるでしょう。
React.jsでバージョン不整合が問題になるのは、次のようなケースです。
例1
React-router v3を使っているなら、React-router v4へのバージョンアップは避けたほうが良いでしょう。特に Nodejs で古いバージョンを使い続けるときには、かなり大きなリスクを抱え込むことになります。
私自身も、このバージョンアップでの大量の変更事項に直面しました。典型的なものとしては、v3のbrowserHistory(URLをPushするサービス)がv4で削除されたことが挙げられます。代わりにv4ではcreateBrowserHistoryを使う必要があります。
例2
ローカル環境でReact.jsプロジェクトがすいすい実行されても、本番環境にデプロイ後、.fn is not a functionというエラーに引っかかることは珍しくありません。このエラーの原因はNode.jsのバージョンがローカルと本番環境で異なることです。ローカル環境のNode.jsは、サーバー上のNode.jsと同じバージョンをインストールしておくべきです。
はじめてReact.jsに触る人がハマりがちなこと(1)でした。またお会いしましょう!