| 原作者 | ジョーダン・ウォーク |
|---|---|
| 開発者 | メタとコミュニティ |
| 初回リリース | 2013年5月29日[1] [2] |
| 安定リリース | |
19.0.0 [3]
/ 2024年12月5日 | |
| プレビューリリース | |
19.0.0-rc.1 / 2024年11月14日[4] | |
| リポジトリ |
|
| 書かれた | JavaScript |
| プラットフォーム | ウェブプラットフォーム |
| タイプ | JavaScript ライブラリ |
| ライセンス | MITライセンス |
| Webサイト | 反応開発 |
React ( React.jsまたはReactJSとも呼ばれる)は、コンポーネントに基づくユーザーインターフェイスの構築をより「シームレス」にする目的で開発された、無料のオープンソースの フロントエンド JavaScriptライブラリです。 [5] [6] Meta (旧Facebook)と個人の開発者や企業のコミュニティによって管理されています。 [7] [8] [9]
Reactは、 Next.jsなどのフレームワークを使用して、シングルページ、モバイル、またはサーバーレンダリングアプリケーションの開発に使用できます。ReactはユーザーインターフェイスとDOMへのコンポーネントのレンダリングのみに関係するため、Reactアプリケーションはルーティングやその他のクライアント側機能のためにライブラリに依存することがよくあります。 [10] [11] Reactの主な利点は、変更されたページの部分のみを再レンダリングし、変更されていないDOM要素の不要な再レンダリングを回避することです。
注目すべき機能
宣言的
[12] Reactは宣言型プログラミング パラダイムに準拠しています。[13] : 76 開発者はアプリケーションの各状態に対してビューを設計し、Reactはデータが変更されたときにコンポーネントを更新してレンダリングします。これは命令型プログラミングとは対照的です。[14]
コンポーネント
Reactコードはコンポーネントと呼ばれるエンティティで構成されています。[13] : 10–12 これらのコンポーネントはモジュール化されており、再利用できます。[13] : 70 Reactアプリケーションは通常、多くのレイヤーのコンポーネントで構成されています。コンポーネントは、React DOMライブラリを使用してDOMのルート要素にレンダリングされます。コンポーネントをレンダリングする際、値はprops(「プロパティ」の略)を介してコンポーネント間で渡されます。コンポーネントの内部の値は状態と呼ばれます。[15]
Reactでコンポーネントを宣言する主な方法は、関数コンポーネントとクラスコンポーネントの2つです。[13] : 118 [16] : 10
機能コンポーネント
関数コンポーネントは、単一の「props」引数を受け入れて JSX を返す関数 (JavaScript 関数構文または矢印関数式を使用) で宣言されます。React v16.8 以降では、関数コンポーネントはuseStateフックで状態を使用できます。
Reactフック
2019年2月16日、React 16.8が一般公開され、React Hooksが導入されました。[17] Hooksは、開発者が関数コンポーネントからReactの状態とライフサイクル機能に「フック」できるようにする関数です。[18]注目すべきは、Hooksはクラス内では機能しないということです。開発者はクラスなしでReactのより多くの機能を利用できるようになります。[19]
ReactはuseState、[20] [16] : 37 useContext、[13] : 11 、[ 21] [16] : 12 useReducer、[13] : 92 、 [21] [16] : 65–66 useMemo [13] : 154 [21] [16] : 162 、などの組み込みフックをいくつか提供していますuseEffect。[22] [16] : 93–95 その他はフックAPIリファレンスに記載されています。[23] [13] : 62 最も一般的に使用されるとは、useStateそれぞれ状態[13] : 37 と副作用[13] : 61 を制御するために使用されます。
useEffect
フックのルール
フックには2つのルール[24]があり、フックが依存する特徴的なコードパターンを説明しています。
- 「フックは最上位レベルでのみ呼び出します」— フックがレンダリングごとに同じ順序で呼び出されるように、ループ、条件、またはネストされたステートメント内からフックを呼び出さないでください。
- 「React 関数からのみフックを呼び出す」 — ステートフル ロジックがコンポーネントに残るように、プレーンな JavaScript 関数からフックを呼び出さないでください。
これらのルールは実行時に強制することはできませんが、リンターなどのコード解析ツールを設定することで、開発中に多くの間違いを検出することができます。これらのルールは、フックの使用と、他のフックを呼び出す可能性のあるカスタムフック[25]の実装の両方に適用されます。
サーバーコンポーネント
Reactサーバーコンポーネント(RSC)[26]は、サーバー上でのみ実行される関数コンポーネントです。この概念は、「サーバーコンポーネントによるデータフェッチ」という講演で初めて紹介されました。[27]サーバーサイドレンダリングと似た概念ですが、RSCはハイドレーションが発生しないため、対応するJavaScriptをクライアントに送信しません。その結果、フックにアクセスできません。ただし、非同期関数であるため、非同期操作を直接実行できます。
非同期関数MyComponent () {
constメッセージ= fetchMessageFromDb ()を待機します。
戻る(
< div >メッセージ: { message }</ div >
);
}
現在、サーバー コンポーネントはNext.jsで最も簡単に使用できます。
クラスコンポーネント
クラス コンポーネントは、 ES6クラスを使用して宣言されます。関数コンポーネントと同じように動作しますが、状態とライフサイクル イベントを管理するためにフックを使用する代わりに、React.Component 基本クラスのライフサイクル メソッドを使用します。
ParentComponentクラスはReact . Componentを拡張します。
状態= {色: '緑' };
与える(){
戻る(
< ChildComponent の色= { this . state . color } />
);
}
}
2019 年 2 月に React 16.8 で React Hooks が導入されたことで、開発者は機能コンポーネント内の状態とライフサイクルの動作を管理できるようになり、クラス コンポーネントへの依存が軽減されました。
この傾向は、関数型プログラミングとモジュール設計に向かう業界全体の動きと一致しています。Reactが進化し続けるにつれて、開発者は新しいアプリケーションを構築したり、既存のアプリケーションをリファクタリングしたりする際に、関数型コンポーネントとReact Hooksの利点を考慮することが不可欠になります。[28]
ルーティング
React自体にはルーティングのサポートが組み込まれていません。Reactは主にユーザーインターフェースを構築するためのライブラリであり、すぐに使える本格的なルーティングソリューションは含まれていません。サードパーティのライブラリを使用して、Reactアプリケーションでルーティングを処理できます。[29]これにより、開発者はルートを定義し、ナビゲーションを管理し、Reactに適した方法でURLの変更を処理できます。

仮想DOM
もう一つの注目すべき機能は、仮想ドキュメントオブジェクトモデル(仮想DOM)の使用です。Reactはメモリ内にデータ構造のキャッシュを作成し、結果の差異を計算し、ブラウザに表示されるDOMを効率的に更新します。[30]このプロセスは調整と呼ばれます。これにより、プログラマーは変更ごとにページ全体がレンダリングされるかのようにコードを記述できますが、Reactは実際に変更されたコンポーネントのみをレンダリングします。この選択的なレンダリングにより、パフォーマンスが大幅に向上します。[31]
アップデート
ReactDOM.render[32]が同じコンポーネントとターゲットに対して再度呼び出されると、Reactは仮想DOMに新しいUI状態を表し、リビングDOMのどの部分(もしあれば)を変更する必要があるかを判断します。[33]

ライフサイクルメソッド
クラスベースのコンポーネントのライフサイクル メソッドは、コンポーネントの有効期間中に設定されたポイントでコードを実行できるようにする フック形式を使用します。
ShouldComponentUpdateレンダリングが不要な場合に false を返すことで、開発者はコンポーネントの不要な再レンダリングを防ぐことができます。componentDidMountコンポーネントが「マウント」されると(コンポーネントはユーザー インターフェイスで作成され、多くの場合DOMノードに関連付けることで)、呼び出されます。これは通常、 API を介してリモート ソースからデータの読み込みをトリガーするために使用されます。componentDidUpdate更新が発生した直後に呼び出されます。[34]componentWillUnmountコンポーネントが破棄されるか「アンマウント」される直前に呼び出されます。これは通常、コンポーネントのアンマウントでは簡単には削除されない、コンポーネントへのリソースを要求する依存関係をクリアするために使用されます (たとえば、setInterval()コンポーネントに関連するインスタンスを削除する、またはコンポーネントの存在のために「ドキュメント」に設定された「 eventListener 」を削除するなど)。renderは最も重要なライフサイクル メソッドであり、どのコンポーネントでも唯一必要なメソッドです。通常、コンポーネントの状態が更新されるたびに呼び出され、ユーザー インターフェイスに反映されます。
JSX
JSX、または JavaScript XML は、JavaScript 言語構文の拡張です。[35]見た目は HTML に似ていますが、[13] : 11 JSX は多くの開発者に馴染みのある構文を使用してコンポーネントのレンダリングを構造化する方法を提供します。React コンポーネントは通常 JSX を使用して記述されますが、必ずしもそうである必要はありません (コンポーネントは純粋な JavaScript で記述することもできます)。JSX は、Facebook がPHP用に作成したXHPと呼ばれる別の拡張構文に似ています。
JSX コードの例:
クラスApp はReact . Componentを拡張します{ render () { return ( < div > < p >ヘッダー</ p > < p >コンテンツ</ p > < p >フッター</ p > </ div > ); } }
HTML を超えたアーキテクチャ
Reactの基本的なアーキテクチャは、ブラウザでのHTMLのレンダリングを超えて適用されます。たとえば、Facebookには<canvas>タグにレンダリングされる動的なチャートがあり、[36] NetflixとPayPalはユニバーサルローディングを使用して、サーバーとクライアントの両方で同一のHTMLをレンダリングします。[37] [38]
サーバーサイドレンダリング
サーバー側レンダリング(SSR) とは、クライアント側の JavaScript アプリケーションをブラウザーではなくサーバー上でレンダリングするプロセスを指します。これにより、特に低速の接続やデバイスを使用しているユーザーにとって、アプリケーションのパフォーマンスが向上します。
SSR では、クライアントに送信される最初の HTML に、アプリケーションの完全にレンダリングされた UI が含まれます。これにより、UI をレンダリングする前に JavaScript がダウンロードされて実行されるのを待つ必要がなくなり、クライアントのブラウザーで UI をすぐに表示できるようになります。
React は SSR をサポートしており、開発者はサーバー上で React コンポーネントをレンダリングし、結果の HTML をクライアントに送信できます。これは、アプリケーションのパフォーマンスを向上させるだけでなく、検索エンジンの最適化にも役立ちます。
よく使われる慣用句
Reactは完全なアプリケーションライブラリを提供しようとはしていません。ユーザーインターフェイスの構築に特化して設計されているため[5]、一部の開発者がアプリケーションの構築に必要と考えるツールの多くは含まれていません。これにより、ネットワークアクセスやローカルデータストレージの実行などのタスクを実行するために、開発者が好むライブラリを選択できます。ライブラリが成熟するにつれて、一般的な使用パターンが出現しました。
一方向データフロー
React の単方向データフローの概念( AngularJSの双方向フローと対照的かもしれない)をサポートするために、一般的なモデル・ビュー・コントローラアーキテクチャの代替として Flux アーキテクチャが開発されました。Flux の特徴は、中央ディスパッチャを介してストアに送信されるアクションと、ストアへの変更がビューに反映されることです。[39] React で使用する場合、この反映はコンポーネントプロパティを通じて行われます。Flux は、その構想以来、 Reduxや MobXなどのライブラリに取って代わられてきました。 [40]
フラックスは観察者パターンの変形と考えることができる。[41]
FluxアーキテクチャのReactコンポーネントは、渡されたpropsを直接変更するのではなく、ストアを変更するためにディスパッチャによって送信されるアクションを作成するコールバック関数を渡す必要があります。アクションは、何が起こったかを説明するオブジェクトです。たとえば、あるユーザーが別のユーザーを「フォロー」することを説明するアクションには、ユーザーID、ターゲットユーザーID、およびタイプが含まれます。[42]モデルと考えることができるストアは、ディスパッチャから受信したアクションに応じて自分自身を変更できます。
USER_FOLLOWED_ANOTHER_USER
このパターンは、「プロパティは下に流れ、アクションは上に流れる」と表現されることがあります。Fluxの実装は誕生以来数多く作成されてきましたが、最もよく知られているのは、単一のストア(単一の真実の源とも呼ばれる)を特徴とするReduxでしょう。[43]
2019年2月、 16.8リリースでReactフックuseReducerとして導入されました。Reduxと一貫性のあるAPIを提供し、開発者がコンポーネントの状態にローカルなReduxのようなストアを作成できるようにします。[44]
今後の展開
プロジェクトのステータスは、コアチームのディスカッションフォーラムで追跡できます。[45]ただし、Reactへの大きな変更は、Future of Reactリポジトリの問題とプルリクエストを経由します。[46] [47]これにより、Reactコミュニティは、新しい潜在的な機能、実験的なAPI、JavaScript構文の改善に関するフィードバックを提供できます。
歴史
ReactはMetaのソフトウェアエンジニアであるJordan Walkeによって開発されました。彼は当初「F-Bolt」 [48]と呼ばれるプロトタイプを開発し、後に「FaxJS」に名前を変更しました。この初期バージョンはJordan WalkeのGitHubリポジトリに文書化されています。[1]このプロジェクトに影響を与えたものには、PHPのHTMLコンポーネントライブラリであるXHPが含まれています。
Reactは2011年に初めてFacebookのニュースフィードに導入され、その後2012年にInstagramに統合されました[要出典]。2013年5月、JSConf USでプロジェクトは正式にオープンソース化され、採用と成長の大きな転換点となりました。[2]
React によるネイティブAndroid、iOS、UWP開発を可能にするReact Native は、2015 年 2 月に Facebook の React Conf で発表され、2015 年 3 月にオープンソース化されました。
2017年4月18日、FacebookはReactの古いレンダリングアルゴリズムであるStackに代わる、レンダリング用の新しい内部アルゴリズムセットであるReact Fiberを発表しました。[49] React Fiberは、Reactライブラリの将来の改善と機能開発の基盤となるはずでした。[50] [更新が必要] Reactを使用したプログラミングの実際の構文は変更されません。構文の実行方法のみが変更されました。[51] Reactの古いレンダリングシステムであるStackは、動的な変更に対するシステムの焦点が理解されていなかった時代に開発されました。たとえば、Stackは複雑なアニメーションの描画に時間がかかり、すべてを1つのチャンクで実現しようとしました。Fiberはアニメーションを複数のフレームに分散できるセグメントに分割します。同様に、ページの構造は、個別に維持および更新できるセグメントに分割できます。JavaScript関数と仮想DOMオブジェクトは「ファイバー」と呼ばれ、それぞれを個別に操作および更新できるため、画面上のレンダリングがよりスムーズになります。[52]
2017年9月26日にReact 16.0が一般公開されました。[53]
2020年10月20日、ReactチームはReact v17.0をリリースしました。これは、React開発者向けAPIに大きな変更がない最初のメジャーリリースとして注目に値します。[54]
2022年3月29日にはReact 18がリリースされ、新しい並行レンダラー、自動バッチ処理、Suspenseによるサーバー側レンダリングのサポートが導入されました。[55]
2024年12月5日、React 19がリリースされました。このリリースではアクションが導入され、保留中の状態、エラー、楽観的な更新を手動で処理するのではなく、非同期関数を使用して状態を更新するプロセスが簡素化されました。React 19には、サーバーコンポーネントのサポートと静的サイト生成の改善も含まれていました。[56]
ライセンス
2013年5月にReactが初めて公開されたときには、Apache License 2.0が使用されていました。2014年10月、React 0.12.00ではこれを3条項BSDライセンスに置き換え、ソフトウェアに関連するFacebookの特許の使用を許可する別のPATENTSテキストファイルが追加されました。[58]
本契約に基づいて付与されるライセンスは、(a) 直接的、間接的、または幇助的な特許侵害または侵害の誘引を主張する請求(訴訟、主張、その他の措置の提起を含む)を行った者に対して、自動的に通知なく終了します。その主張とは、(i) Facebook またはその子会社または関連会社による、当該請求が本ソフトウェアに関連するか否かにかかわらず、(ii) 当該請求が Facebook またはその子会社または関連会社のソフトウェア、製品、またはサービスに起因して全部または一部生じた場合の当事者による、当該請求が本ソフトウェアに関連するか否かにかかわらず、または (iii) 本ソフトウェアに関連する当事者による、または (b) Facebook の特許請求における権利が無効または執行不可能である、というものです。
この型破りな条項は、Reactユーザーコミュニティで論争と議論を引き起こした。なぜなら、この条項は、Facebookがライセンシーを訴え、ブログなどでその行動を公開することで「その他の行動」を取らせるなど、多くのシナリオでFacebookにライセンスを取り消す権限を与えると解釈される可能性があるからだ。多くの人が、Facebookが解約条項を不当に利用する可能性がある、またはReactを製品に統合することでスタートアップ企業の将来の買収が複雑になる可能性があると懸念を表明した。[59]
Facebookはコミュニティからのフィードバックに基づいて、2015年4月に特許付与をより曖昧さが少なく、より寛容なものに更新しました。[60]
本契約に基づいて付与されたライセンスは、お客様(またはお客様の子会社、関連会社、代理人)が、(i)Facebookまたはその子会社または関連会社に対して、(ii)Facebookまたはその子会社または関連会社のソフトウェア、技術、製品、またはサービスに起因して特許権を主張する当事者に対して、または(iii)本ソフトウェアに関連する当事者に対して、直接的または間接的に特許権を主張する、または直接的な金銭的利益を得る場合、自動的に予告なく終了します。[...] 「特許権を主張する」とは、交差請求または反訴を含む、特許権の直接的、間接的、または共犯的侵害または侵害の誘因を主張する訴訟またはその他の行為を指します。[61]
Apacheソフトウェア財団は、このライセンス契約は「ライセンシーではなくライセンサーに不利な形でソフトウェアの下流の消費者にリスクを転嫁し、普遍的な寄付者であるというApacheの法的ポリシーに違反する」ため、ライセンスポリシーと矛盾するとみなし、「[Apacheライセンス2.0]に含まれるライセンスのサブセットではなく、[Apacheライセンス2.0]としてサブライセンスすることはできない」とした。[62] 2017年8月、FacebookはApache財団の下流の懸念を却下し、ライセンスの再検討を拒否した。[63] [64]翌月、WordPressはGutenbergとCalypsoプロジェクトをReactから切り替えることを決定した。[65]
2017年9月23日、Facebookは翌週にFlow、Jest、React、Immutable.jsを標準MITライセンスの下で再ライセンスすると発表した。同社はReactが「ウェブ向けオープンソースソフトウェアの幅広いエコシステムの基盤」であり、「非技術的な理由で前進を遅らせたくない」と述べた。[66]
2017年9月26日、React 16.0.0がMITライセンスでリリースされました。[67] MITライセンスの変更は、React 15.6.2とともに15.xリリースラインにもバックポートされています。[68]
参照
- Angular (ウェブフレームワーク)
- バックボーン
- エンバー
- Gatsby (JavaScript フレームワーク)
- 次
- タイプスクリプト
- スヴェルト
- js の
- JavaScript ベースの Web フレームワークの比較
- Webコンポーネント
参考文献
- ^ Occhino, Tom; Walke, Jordan (2013年8月5日). 「FacebookのJSアプリ」YouTube . 2022年5月31日時点のオリジナルよりアーカイブ。2018年10月22日閲覧。
- ^ 「React はライブラリかフレームワークか? それが重要な理由はここにある」freeCodeCamp.org 2021-04-12 2024-10-12閲覧。
- ^ “React v19”. 2024年12月5日. 2024年12月5日閲覧。
- ^ 「React 19 の新機能」。2024 年 5 月 12 日時点のオリジナルよりアーカイブ。2024 年 5 月 12 日閲覧。
- ^ abc 「React – ユーザーインターフェースを構築するためのJavaScriptライブラリ」reactjs.org。 2018年4月8日時点のオリジナルよりアーカイブ。2018年4月7日閲覧。
- ^ “第1章 Reactとは何か? - Reactとは何か、なぜそれが重要なのか [書籍]”. www.oreilly.com . 2023年5月6日時点のオリジナルよりアーカイブ。 2023年5月6日閲覧。
- ^ Krill, Paul (2014 年 5 月 15 日). 「React: データ駆動型 Web アプリの UI をより高速かつスムーズにする」. InfoWorld . 2018 年 6 月 12 日時点のオリジナルよりアーカイブ。2021 年 2 月 23 日閲覧。
- ^ Hemel, Zef (2013年6月3日). 「FacebookのReact JavaScriptユーザーインターフェースライブラリがさまざまなレビューを受ける」. infoq.com . 2022年5月26日時点のオリジナルよりアーカイブ。 2022年1月11日閲覧。
- ^ Dawson, Chris (2014年7月25日). 「JavaScriptの歴史とそれがReactJSにつながった経緯」The New Stack . 2020年8月6日時点のオリジナルよりアーカイブ。 2020年7月19日閲覧。
- ^ デレ 2017.
- ^ パンチャル2022。
- ^ 「React 入門」GeeksforGeeks . 2017-09-27 . 2024-10-12閲覧。
- ^ abcdefghijkl Wieruch 2020.
- ^ シュヴァルツミュラー 2018.
- ^ 「コンポーネントとプロップ」。React。Facebook。2018年4月7日時点のオリジナルよりアーカイブ。2018年4月7日閲覧。
- ^ abcdef ラーセン2021.
- ^ 「Introducing Hooks」. react.js. 2018-10-25 にオリジナルからアーカイブ。2019-05-20に取得。
- ^ 「Hooks at a Glance – React」。reactjs.org。 2023年3月15日時点のオリジナルよりアーカイブ。 2019年8月8日閲覧。
- ^ 「What the Heck is React Hooks?」Soshace 2020-01-16. 2022-05-31 時点のオリジナルよりアーカイブ。2020-01-24閲覧。
- ^ 「State Hook の使用 – React」。reactjs.org。 2022 年 7 月 30 日時点のオリジナルよりアーカイブ。 2020 年 1 月 24 日閲覧。
- ^ abc 「State Hook の使用 – React」。reactjs.org。 2022 年 7 月 30 日時点のオリジナルよりアーカイブ。 2020 年 1 月 24 日閲覧。
- ^ 「エフェクトフックの使用 – React」。reactjs.org。 2022年8月1日時点のオリジナルよりアーカイブ。2020年1月24日閲覧。
- ^ 「Hooks API リファレンス – React」。reactjs.org。 2022 年 8 月 5 日時点のオリジナルよりアーカイブ。2020 年 1 月 24 日閲覧。
- ^ 「Rules of Hooks – React」。reactjs.org。 2021年6月6日時点のオリジナルよりアーカイブ。2020年1月24日閲覧。
- ^ 「Building Your Own Hooks – React」。reactjs.org。 2022年7月17日時点のオリジナルよりアーカイブ。 2020年1月24日閲覧。
- ^ 「React Labs: これまでの取り組み – 2023年3月」。react.dev。2023年7月26日時点のオリジナルよりアーカイブ。2023年7月23日閲覧。
- ^ Abramov, Dan; Tan, Lauren; Savona, Joseph; Markbåge, Sebastian (2020-12-21). 「ゼロバンドルサイズのReactサーバーコンポーネントの紹介」. react.dev . 2024-09-28閲覧。
- ^ Chourasia, Rawnak (2023-03-08). 「クラスコンポーネントを関数(矢印)コンポーネントに変換する – React」。Code Part Time。2023-08-15にオリジナルからアーカイブ。2023-08-15に取得。
- ^ 「React Router をマスターする – 究極ガイド」 2023-07-12. 2023-07-26 時点のオリジナルよりアーカイブ。 2023-07-26閲覧。
- ^ 「Refs and the DOM」。React Blog。2022年8月7日時点のオリジナルよりアーカイブ。2021年7月19日閲覧。
- ^ 「React: The Virtual DOM」。Codecademy。2021年10月28日時点のオリジナルよりアーカイブ。 2021年10月14日閲覧。
- ^ 「ReactDOM – React」。reactjs.org。 2023年1月8日時点のオリジナルよりアーカイブ。2023年1月8日閲覧。
- ^ 「Reconciliation – React」。reactjs.org。 2023年1月8日時点のオリジナルよりアーカイブ。2023年1月8日閲覧。
- ^ 「React.Component – React」。legacy.reactjs.org。2024年4月9日時点のオリジナルよりアーカイブ。2024年4月9日閲覧。
- ^ 「ドラフト: JSX仕様」。JSX。Facebook。2022年3月8日。2022年4月2日時点のオリジナルよりアーカイブ。 2018年4月7日閲覧。
- ^ Hunt, Pete (2013-06-05). 「なぜ React を開発したのか? – React ブログ」reactjs.org . 2015-04-06 にオリジナルからアーカイブ。2022-02-17に取得。
- ^ 「PayPal Isomorphic React」. medium.com . 2015-04-27. 2019-02-08時点のオリジナルよりアーカイブ。2019-02-08に閲覧。
- ^ “Netflix Isomorphic React”. netflixtechblog.com . 2015年1月28日. 2016年12月17日時点のオリジナルよりアーカイブ。2022年2月14日閲覧。
- ^ “In Depth OverView”. Flux . Facebook. 2022年8月7日時点のオリジナルよりアーカイブ。2018年4月7日閲覧。
- ^ “Flux Release 4.0”. Github . 2022年5月31日時点のオリジナルよりアーカイブ。2021年2月26日閲覧。
- ^ ジョンソン、ニコラス。「Flux入門-React演習」ニコラス・ジョンソン。2022年5月31日時点のオリジナルよりアーカイブ。 2018年4月7日閲覧。
- ^ Abramov, Dan. 「Dan AbramovによるReactとFluxの歴史」。Three Devs and a Maybe。2018年4月19日時点のオリジナルよりアーカイブ。2018年4月7日閲覧。
- ^ 「State Management Tools – Results」。The State of JavaScript。2022年5月31日時点のオリジナルよりアーカイブ。 2021年10月29日閲覧。
- ^ 「React v16.8: The One with Hooks」。2023年1月8日時点のオリジナルよりアーカイブ。2023年1月8日閲覧。
- ^ 「会議メモ」。React Discuss。2015年12月22日時点のオリジナルよりアーカイブ。 2015年12月13日閲覧。
- ^ 「reactjs/react-future – Reactの未来」。GitHub。2022年7月13日時点のオリジナルよりアーカイブ。2015年12月13日閲覧。
- ^ 「facebook/react – 機能リクエストの問題」。GitHub。2022年7月9日時点のオリジナルよりアーカイブ。2015年12月13日閲覧。
- ^ 「React.js: The Documentary」。Youtube。Honeypot。2023年2月10日。2024年1月19日時点のオリジナルよりアーカイブ。 2024年5月27日閲覧。
- ^ ラルディノワ 2017年。
- ^ 「React Fiber Architecture」。Github。2018年5月10日時点のオリジナルよりアーカイブ。2017年4月19日閲覧。
- ^ 「FacebookがReactフレームワークの書き換え版React Fiberを発表」TechCrunch 2017年4月18日。2018年6月14日時点のオリジナルよりアーカイブ。2018年10月19日閲覧。
- ^ 「GitHub – acdlite/react-fiber-architecture: React の新しいコア アルゴリズム React Fiber の説明」。github.com。2018年 5 月 10 日時点のオリジナルよりアーカイブ。2018年 10 月 19 日閲覧。
- ^ “React v16.0”. react.js. 2017-09-26. 2017-10-03 にオリジナルよりアーカイブ。2019-05-20に閲覧。
- ^ url=https://reactjs.org/blog/2020/08/10/react-v17-rc.html 2020-08-10に Wayback Machineでアーカイブ
- ^ “React 18”. React . 2024年12月7日閲覧。
- ^ “React 19”. React . 2024年12月7日閲覧。
- ^ “React v18.0”. reactjs.org . 2022年3月29日時点のオリジナルよりアーカイブ。2022年4月12日閲覧。
- ^ “React CHANGELOG.md”. GitHub . 2020年4月28日時点のオリジナルよりアーカイブ。2015年12月9日閲覧。
- ^ Liu, Austin. 「ReactJS を使用しない説得力のある理由」 。Medium。2022 年 5 月 31 日時点のオリジナルよりアーカイブ。2015 年 12 月 9 日閲覧。
- ^ 「オープンソース特許付与の更新」。2020年11月8日時点のオリジナルよりアーカイブ。2015年12月9日閲覧。
- ^ 「特許権の追加付与バージョン2」。GitHub 。 2022年5月31日時点のオリジナルよりアーカイブ。2015年12月9日閲覧。
- ^ 「ASF Legal Previously Asked Questions」。Apache Software Foundation。2018 年 2 月 6 日時点のオリジナルよりアーカイブ。2017年 7 月 16 日閲覧。
- ^ 「Reactのライセンスの説明」。Facebook。2021年5月6日時点のオリジナルよりアーカイブ。2017年8月18日閲覧。
- ^ 「 RocksDBが行ったように、AL v2.0 への再ライセンスを検討してください」。Github。2022年 7 月 27 日時点のオリジナルよりアーカイブ。2017年 8 月 18 日閲覧。
- ^ 「WordPress、Facebookの特許条項リスクによりReactライブラリを廃止へ」TechCrunch 2017年9月15日。2022年5月31日時点のオリジナルよりアーカイブ。 2017年9月16日閲覧。
- ^ 「Relicensing React, Jest, Flow, and Immutable.js」。Facebook Code 2017-09-23。2020-12-06時点のオリジナルよりアーカイブ。2017-09-23に取得。
- ^ Clark, Andrew (2017 年 9 月 26 日). 「React v16.0§MIT ライセンス」. React ブログ. 2017 年 10 月 3 日時点のオリジナルよりアーカイブ。2017年10 月 18 日閲覧。
- ^ Hunzaker, Nathan (2017年9月25日). 「React v15.6.2」. React Blog . 2022年5月31日時点のオリジナルよりアーカイブ。 2017年10月18日閲覧。
文献
- ラーセン、ジョン(2021)。サスペンスと並行モードを使ったReact Hooksの実践。マニング。ISBN 978-1-72004-399-7。
- Schwarzmüller, Max (2018-05-01). React – 完全ガイド (フック、React Router、Redux を含む) . Packt Publishing .
- Wieruch, Robin (2020). The Road to React . Leanpub. ISBN 978-1-72004-399-7。
- Dere, Mohan ( 2017-12-21 ). 「素晴らしいアプリを作るために必要なすべてのライブラリをcreate-react-appと統合する方法」。freeCodeCamp。2018-06-14に取得。
- Panchal, Krunal (2022-04-26). 「Angular vs React の詳細な比較」。SitePoint。2023-03-30にオリジナルからアーカイブ。2023-06-05に取得。
- Hámori, Fenerec (2022-05-31). 「タイムラインで見るReact.jsの歴史」RisingStack . 2022-05-31 にオリジナルからアーカイブ。2023-06-05に取得。
- Lardinois, Frederic. 「Facebook が React ライブラリの書き換え版 React Fiber を発表」InfoWorld . 2018 年 6 月 12 日時点のオリジナルよりアーカイブ。2023年 6 月 5 日閲覧。
外部リンク
- 公式サイト
- ギットハブ
