出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/01/30 16:41 UTC 版)
|
|
この記事は更新が必要とされています。 (2022年12月)
|
| |
|
| 作者 | Jordan Walke |
|---|---|
| 開発元 | Metaとコミュニティ |
| 初版 | 2013年3月29日[1] |
| 最終版 | 19.2.3[2] |
| リポジトリ | |
| プログラミング 言語 |
JavaScript |
| 対応OS | クロスプラットフォーム |
| 種別 | JavaScriptライブラリ、開発支援、UIフレームワーク |
| ライセンス | MITライセンス |
| 公式サイト | ar |
React (リアクト)またはReact.js、ReactJS とは、ウェブブラウザで複雑なUIを容易に生成するためのフリーかつオープンソースなフロントエンドJavaScriptライブラリである[3]。Meta(旧Facebook)が2011年から社内用に開発していたライブラリを2013年に一般に公開したもので、Meta社と個人や企業からなるコミュニティによって開発されている。
Reactの主な特徴は、クライアントサイドであること、コンポーネントベースであること、仮想DOMを扱うことである。
Reactはクライアントサイドである。従来、データファイルや通信内容をもとに複雑なUIをもったWebページ用HTMLを生成するためには、PHPやJava、RubyなどWEBサーバー上で動くサーバーサイド言語が用いられていた。それに対して、Reactはブラウザ上で動くJavaScriptを使い、ページ表示後にHTMLタグ要素を既存のHTMLに挿入するJSXとよばれる手法によりクライアントサイドで動作するという特徴がある(ただし後に登場したRSC(React Server Components)機能でサーバーサイドレンダリングも可能)。
Reactはコンポーネントベースである。先行するクライアントサイドのUI開発に使われていたjQuery等と比べ、コンポーネントを単位にした要素ごとの開発が可能であり、大規模な開発に適している。
Reactは仮想DOMを採用し、軽量に更新可能である。仮想DOMとは、HTML言語の階層木構造(DOM)を直接操作するのではなく、仮想的なDOMを操作し最小限の変更点のみ実際のDOMに反映する機能で、Vue.jsなども採用している。
Reactは単独でも動作するが、予約サイトなど双方向の通信機能によって表示を変える動的ページの構築では、サーバーサイドの処理をNode.js(JavaScriptのサーバーサイド向け拡張)と組み合わせたりNext.js(Node.jsのライブラリ)と組み合わせて使われることが一般的である。また、Reactの実際の開発では、直接JavaScriptを書くのではなく、TypeScript(JavaScriptを型付きにした拡張言語)でReactを書きJavaScriptにトランスパイルすることがある。
ReactはシングルページアプリケーションのWebアプリを開発したり、React Nativeを用いてモバイルアプリを開発するための雛形として使用することができる。複雑なReactアプリケーションでは通常、状態管理・ルーティング・APIとの対話のための追加のライブラリが必要となる[4]。
Reactが提供する代表的な機能を以下に挙げる。
Reactと立ち位置が近く、競合するフレームワークとして、Vue.js、jQuery、AngularJSなどがある。 Vue.jsはクライアントサイドのJavaScriptによるUI向けライブラリという点では共通しているが、JSXではなくPHP風の置換記法によってHTMLを書き換えたり、双方向バインディングに対応している点が異なり、中小規模のプロジェクトで使われやすい[5]。 jQueryはReactより古く2006年に誕生したライブラリであり、DOM操作によってHTMLを動的に生成するクライアントサイドのJavaScriptライブラリである点はReactと共通しているが、UIの操作について、モデル・ビュー・コントロールを分離するMVCアーキテクチャの設計思想以前に作られ、データの一貫した管理が難しい[6]。2000年代後半から2010年代前半にかけて広く用いられた。 AngularJSは2009年に誕生し、MVCアーキテクチャを採用したクライアントサイドJavaScriptライブラリであり、Googleとコミュニティーが開発していたが、2022年にサポートを終了した。
プロパティ (通常はprops) は親コンポーネントからコンポーネントに渡される。コンポーネントは1組のイミュータブルなJavaScriptオブジェクトとしてプロパティを受け取る[7]。
stateはコンポーネントの全体に渡って値を保持し、プロパティを通じて子コンポーネントに渡すことができる。
class ParentComponent extends React.Component {
state = { color: "green" };
render() {
return <ChildComponent color={this.state.color} />;
}
}
もう1つの注目すべき機能は、仮想DOMの使用である。Reactでは仮想DOMとしてメモリ上にDOMの状態をキャッシュしておき、仮想DOMに差分が発生した場合にのみ差分を計算し、実際のDOMに差分のみを反映させることにより効率的な描画を実現している[8]。これにより、プログラマは変更があるたびにページ全体を描画するコードを記述しながら、Reactライブラリによって実際に変更されたサブコンポーネントのみを描画することができる。
ライフサイクルメソッドはコンポーネントの生存期間中に設定した地点で、コードを実行できるようにするためのフックである。
shouldComponentUpdate - 描画が不要な場合にfalseを返すことによって、コンポーネントの不要な再描画を防ぐことができる。componentDidMount - コンポーネントがマウントされるときに1回だけ呼び出される[注釈 1]。これは一般に、APIを介してリモートソースからデータを読み込む際のトリガとして使用されている。render - 最も重要なライフサイクルメソッドであり、どのコンポーネントでも必要な唯一のものである。このメソッドは、通常はユーザインタフェースの変更を反映して、コンポーネントの状態が更新されるたびに呼び出される。JSXは、JavaScriptの構文に対する拡張である[9]。HTMLと外観が似ているが、JSXは多くの開発者がよく知っている構文を使用して、構造化されたコンポーネントを描画する方法を提供する。Reactコンポーネントは、必須ではないが、通常はJSXを使用して書かれている[注釈 2]。JSXはFacebookがPHP向けに作成した拡張構文であるXHPに似ている。
JSXのコードの例:
const App = () => {
return (
<div>
<p>Header</p>
<p>Content</p>
<p>Footer</p>
</div>
);
};
同じレベルの複数の要素は、上記の<div>のように単一のコンテナ要素にラップするか、配列として返す必要がある[10]。
JSXはHTMLによって提供されるものを反映するように設計された要素属性の範囲を提供する。カスタム属性もコンポーネントに渡すことができる[11]。全ての属性はコンポーネントによってpropsとして受け取られる。
JavaScriptの式 (文ではない) は、{}を使うことによってJSXのコード内に記述することができる。
<h1>{10 + 1}</h1>;
上記のコードは下記のように描画される。
<h1>11</h1>
if文はJSX内で使用することはできないが、条件式は使用することができる。以下の例では、i === 1が評価され、「true」または「false」の文字列が描画される。
const App = ({ i }) => {
return <div>{String(i === 1)}</div>;
};
関数とJSXは条件式内で使用することができる。
const App = () => {
const sections = [1, 2, 3];
return (
<div>
{sections.map((n) => (
<div>Section {n}</div>
))}
</div>
);
};
上記は下記のように描画される。
<div>
<div>Section 1</div>
<div>Section 2</div>
<div>Section 3</div>
</div>
JSXで書かれたコードはウェブブラウザで実行可能にするために、Babelなどのツールを利用して事前に変換する必要がある[12]。この処理は通常はアプリケーションが配置されるよりも前の、ソフトウェアを構築している段階で実行される。
Reactは「レンダラーに依存しないこと」を設計原則としている[13]。ゆえにReactはウェブブラウザでHTMLを描画すること(DOMによるレンダリング)以外にも適用される。例えば、Facebookはcanvasタグに描画する動的チャートを持ち[14]、NetflixとPayPalではサーバとクライアントの両方で読み込むことができる同一のHTMLを描画するために利用されている[15][16]。またReact NativeによりネイティブアプリのUIレイヤーとしても機能する。
ReactはFacebookのソフトウェアエンジニアであるJordan Walkeによって開発された。PHP向けのHTMLコンポーネントフレームワークであるXHPの影響を受けている[17]。2011年にFacebookのニュースフィード上で最初に使用され、2012年にはInstagramでも使用されるようになった[18]。2013年5月のJSConf USでオープンソース化された。
React NativeはAndroid・iOS・UWPでのReactを利用したネイティブ開発を可能にするもので、2015年2月のReact.js Confで発表され、3月にオープンソース化された。
2017年4月17日、Facebookはユーザインタフェースを構築するためのReactフレームワークライブラリの新しいコアアルゴリズムであるReact Fiberを発表した[19]。React FiberはReactフレームワークの将来の改良と機能開発の基盤となるものである[20]。
2013年5月に最初に一般公開されたときには標準のApache 2.0を使用していた。2014年10月に公開されたReact バージョン0.12.0からは、Facebookの関連する特許の使用を認めるPATENTSテキストファイルが追加された、特許条項付きの修正BSDライセンスにライセンスを変更した[21]。
この特許条項はFacebookとその関連企業に対して特許権侵害訴訟した場合に、利用する権利が取り消されるというもので、Reactユーザーコミュニティ内で幾つかの論争と議論を引き起こした[22][23]。
コミュニティからのフィードバックに基づき、2015年4月にFacebookは特許許諾を曖昧な部分を減らし、より寛容なものになるように変更した[24]。 2017年8月、Apacheソフトウェア財団はこの特許条項がApacheの製品と相容れないものであったことからライセンスの変更を求めたが、Facebookはこれを却下した[22]。翌月、WordPressはGutenbergとCalypsoでReactの利用を中止することを決定した[25]。
2017年9月23日、Facebookは翌週に、Flow・Jest・React・Immutable.jsの4つを標準のMITライセンスで再ライセンスすることを発表した[26]。同社は、Reactが「ウェブ用のオープンソースソフトウェアにおける様々なエコシステムの基盤」であり、「技術的なもの以外の問題によって発展を遅らせることは望まない」と述べている[27]。
同月26日に、React バージョン16.0.0が標準のMITライセンスでリリースされた[28]。この変更はReact バージョン15.6.2でバージョン15.x系にもバックポートされた[29]。
プロジェクトの進捗状況は、コア開発チームのディスカッションフォーラムで見ることができる[30]。しかし、Reactに対する大きな変更についてはreact-futureリポジトリのIssueとプルリクエストを通すことになっている。これによって、Reactコミュニティは将来性のある新しい機能・実験的なAPI・JavaScriptの構文の改善についてのフィードバックを提供することができる。
サブプロジェクトの状態についてはプロジェクトのWikiで利用可能だった[31]。
FacebookはReactの貢献者に対して、Facebookの貢献者ライセンス同意書 (CLA) に署名することを要求している[32]。
以下はJSXとJavaScriptを利用したReactの基本的な使い方である。
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
import React from "react";
import ReactDOM from "react-dom/client";
const Greeter = (props) => {
return (
<h1>{props.greeting}</h1>
);
};
const App = () => {
return <Greeter greeting="Hello, world!" />;
};
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
Reactは完全なアプリケーションフレームワークを提供しようとはしていない。Reactはユーザインタフェースを構築するために設計されており、故に、開発者がアプリケーションを構築する際に必要であると考えるかもしれない多くのツールは含まれていない。このことにより、開発者はネットワークアクセスやローカルデータストレージなどで好みのライブラリを選択することができる。ライブラリが成熟するにつれて、一般的なパターンが明らかになってきた。
Reactでは単方向のデータフローとしてFluxアーキテクチャが提唱された。Fluxアーキテクチャは、AngularJSの双方向データフローとは対照的なReactの単方向データフローの概念をサポートするために、一般的なMVCアーキテクチャの代替となるものである。FluxはActionが中央Dispatcherを介してStoreに送信され、Storeに対する変更がViewに伝播することが特徴である[33]。Reactと共に使用した場合には、この伝播はコンポーネントのプロパティを通じて行われる。
Fluxはオブザーバ・パターンの変種であると考えることができる[34]。
FluxにおけるReactコンポーネントは、渡されたpropsを直接変更せず、Actionを作るコールバック関数が渡される。ActionはDispatcherに送られ、それを元にStoreが更新される。
Actionは何が起こったのかを説明する義務のあるオブジェクトである。例えば、あるユーザーが別のユーザーをフォローすると記述されたActionには、自身のユーザーIDと相手のユーザーIDとUSER_FOLLOWED_ANOTHER_USERが含まれている[35]。StoreはDispatcherから受け取ったActionに応じて自身を変更する可能性がある。
このパターンは、「プロパティが下に流れ、アクションが上に流れる」と表現されることがある。多くのFluxの実装がこのアーキテクチャの誕生以来作られてきたが、恐らく最もよく知られている実装は単一のStoreを特徴とするReduxであり、しばしば信頼できる唯一の情報源と呼ばれている[36]。
React Nativeは、本来WebアプリのUI開発のためのフレームワークであるReactを、PCやスマホ向けのネイティブアプリの開発にも使えるようにしたもので、Facebookによって2015年2月に発表された[37]。Android、iOS、Windows(UWP)に対応している[38][39]。
2012年、Facebookの会長兼CEOであるマーク・ザッカーバーグは、「企業としての最大の失敗は、ネイティブの反対としてHTML5に大きく賭けたことだった。」とコメントしている[40]。彼はFacebookがまもなくより良いモバイル体験を提供することを約束した。
Facebookの社内では、Jordan WalkeがJavaScript製のwebアプリからiOSのUIを生成するシステムのプロトタイプを作り上げており、本格的にReact製Webアプリからネイティブモバイルアプリを構築するために社内ハッカソンが結成された[41]。
数ヶ月の開発の後、FacebookはReact.js Conf 2015で最初のバージョンをリリースした。Christopher Chedeauは技術的な話の中で[42]、FacebookがReact Nativeをグループアプリと彼らの広告管理アプリで既に使用していると説明した[37]。
React Nativeの動作原理は基本的にはReactと同一だが、ネイティブAPIを利用して描画する点がReactと異なる。React Nativeはバックグラウンドプロセス (開発者の書いたコードを解釈するためのJavaScript処理系) としてエンドデバイス上で直接実行され、シリアライズ可能で非同期かつバッチ処理されたBridgeを介してネイティブプラットフォームと通信する[43][44]。
React NativeはHTML5に全く頼らず、全てJavaScriptで書かれており、ネイティブのSDKに頼っている。
React NativeによるHello world:
import React from "react";
import { AppRegistry, Text } from "react-native";
export const HelloWorldApp = () => <Text>Hello world!</Text>;
AppRegistry.registerComponent("HelloWorld", () => HelloWorldApp);
Reactに対する批判として、仮想DOMの概念を使用しているため、多くのRAMが必要になるというものがある。これは、「UIの表現がメモリ上に保持され、ReactDOMなどのライブラリによって実際のDOMと同期される」ことによるものである[45]。同様に、React バージョン16以降に含まれている仮想DOMの抽象化は、ウェブブラウザに組み込まれているコンポーネントモデルでは上手く動作せず[46]、従って、ウェブブラウザの標準に依存したそれらのコンポーネントを実装する代替ライブラリでは上手く機能しない。
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/02/20 08:32 UTC 版)
|
|
この記事には複数の問題があります。
|
| Re:AcT | |
|---|---|
| |
|
| 公式サイト | Re_AcT |
| YouTube | |
| チャンネル | |
| 活動期間 | 2018年 - |
| 登録者数 | 3.18万人 |
| 総再生回数 | 6,600,182 回 |
| チャンネル登録者数・総再生回数は 2025年5月1日時点。 |
|
Re:AcT(リアクト)は、株式会社mikaiが運営するバーチャルYouTuber事務所[1][2]。
当初は「KAGAYAKI STARS」の名称で設立された。設立当初は「歌って踊れるVTuberの発掘・育成」を目的として運営されていた[3]。その後、各タレントの特性や方針に合わせた売り出し方へ方針転換することになったため、2018年12月5日に事務所の名称を現在の「Re:AcT」へ変更した[4]。事務所名の変更後は、各タレントに合わせた部門が発足し、その後も「KAGAYAKI STARS」の名称はプロジェクトの名称として使用された。なお、2020年以降にデビューしたタレントおよび2020年8月時点の公式サイトでは部門分けがなされていない[5][6]。またTwitchでのゲーム配信がメインとなるプロジェクト「Re:AcT Gaming」も存在する[7]。
2025年3月1日時点
| 名前 | 活動開始日 | 誕生日 | 登録者数(万人) | 所属ユニット | 備考 |
|---|---|---|---|---|---|
| 獅子神レオナ | 2018年9月14日 | 8月16日 | 33.4 | Re_KMKL ちーむきゅーてぃくる |
KAGAYAKISTARS第2期生出身 |
| 花鋏キョウ | 2018年9月14日 | 7月24日 | 33.1 | Re_KMKL | KAGAYAKISTARS第2期生出身 |
| 水瓶ミア | 2018年9月14日 | 2月24日 | 3.09 | Re_KMKL ちーむきゅーてぃくる |
KAGAYAKISTARS第2期生出身 |
| 夢川かなう | 2018年9月14日 | 4月14日[26] | 3.53 0.5770 |
Re_KMKL | KAGAYAKISTARS第2期生出身 今まで以上に歌に力を入れて活動するため、 2024年4月14日に新しいYouTubeチャンネルを開設[27] |
| 天川はの | 2019年9月17日 | 5月1日 | 11.6 | すたーべあ![注釈 1] | |
| 丸餅つきみ[28] | 2020年4月30日 | 10月1日 | 1.46 | ||
| 月紫アリア[29] | 2021年4月23日 | 10月16日[30] | 7.04 | Melty R.I.P. ねころまんさー |
|
| 猫乃ユキノ[31] | 2021年5月27日[注釈 2] | 11月10日[32] | 5.78 | ねころまんさー | 元個人勢 |
| 九楽ライ | 2021年11月3日 | 5月30日[33] | 4.93 | Melty R.I.P. はな組 |
|
| 皇ロゼ | 2021年11月3日 | 1月23日 | 2.57 | はな組 | |
| 魔光リサ | 2022年4月2日 | 11月1日 | 4.11 | REVERBERATION つばさぐらでーしょん |
|
| 稀羽すう | 2022年4月2日 | 5月22日 | 9.46 | REVERBERATION つばさぐらでーしょん |
|
| 音伽ねむ | 2022年8月12日 | 2月4日[34] | 1.29 | ミクチャで実施された公開オーディションより選出 | |
| ククルア・クレイユ | 2022年8月12日 | 3月25日 | 1.64 | ミクチャで実施された公開オーディションより選出 | |
| 狐宵いなり[35] | 2023年3月10日 | 8月30日 | 0.164 | Re:AcT Gaming | |
| 小夜シグレ | 2023年3月10日 | 11月24日 | 0.0570 | Re:AcT Gaming | |
| 天華あむ | 2023年3月10日 | 7月16日 | 0.2020 | Re:AcT Gaming | |
| 白妙とき | 2024年4月26日 | 1月9日 | 0.0430 | Re:AcT Gaming | |
| 白音ゆき | 2025年3月8日 | 12月2日 | 2.69 | 2020年3月1日から2021年12月31日までRe:AcTで活動していたが卒業し、2025年3月8日に再デビュー | |
| 杏夜くもり | 2025年3月20日 | 11月4日 | 2.16 | 個人勢からの編入。2022年5/8にデビュー。 | |
| レイラ・サマ | 2025年3月20日 | 9月2日 | 0.3710 |
11月22日、泡々いるか、黎乃鈴、罪揺える
(KAGAYAKISTARS第1期生 2018年7月6日 - 2024年1月31日)
(2022年8月12日 - 2024年2月1日契約終了)
(2024年4月26日 - 2025年3月26日契約終了)
2018年8月27日、TOKOTOKO(西沢さんP)のプロデュースにより綺羅星ウタと星屑れんの楽曲「本日は星天なり」が制作された。同日にオリジナルビデオミュージックコンテストの開催が発表された[86]。同年10月9日に結果発表が行われ[87]、綺羅星ウタ賞を受賞したりんごちゃん[88]とTOKOTOKO賞を受賞した星街すいせいが綺羅星ウタVer.[89][90]、星屑れん賞を受賞したすやむにゃが星屑れんVer.[91]のオリジナルPVを手掛けた。
2019年4月3日には、花鋏キョウのオリジナル楽曲[92]、同年5月20日には『Re:A ProjecT』のオリジナル楽曲の製作が発表された[93]。
2018年9月3日に「本日は星天なり」の綺羅星ウタVer.と星屑れんVer.[94]、2019年4月3日に花鋏キョウの「蒼に躊躇う」、同年5月20日にRe:A ProjecTの楽曲が各配信サイトで配信開始。
| アーティスト | 配信日 | 配信曲 | 備考 |
|---|---|---|---|
| 綺羅星ウタ | 2018年9月3日[94] | 本日は星天なり(作詞・作曲 - TOKOTOKO) | |
| 星屑れん | |||
| 花鋏キョウ | 2019年4月3日[92] | 蒼に躊躇う(作詞・作曲 - ポリスピカデリー) | |
| Re:A ProjecT Season 1 |
2019年5月20日[93] |
全6曲
|
2020年12月1日に音楽レーベル『ReAliz(リアライズ)』『kaleidscope(カレイドスコープ)』『sinkirow(シンキロウ)』を設立。
| 発売日 | タイトル | アーティスト |
|---|---|---|
| 2020年12月2日 | ナンセンス・ワード | 獅子神レオナ |
| 2021年1月29日 | Dice of Fate | 宇佐美ユノ |
| 発売日 | タイトル | アーティスト |
|---|---|---|
| 2020年12月2日 | Starry | 花鋏キョウ |
| 2020年12月25日 | Dent de lion | 花鋏キョウ × 獅子神レオナ |
| 2020年12月25日 | Honeycomb | 天川はの |
| 2021年1月29日 | Egoistic Love | 黒音よみ |
| 発売日 | タイトル | アーティスト |
|---|---|---|
| 2020年12月2日 | フェーデ | 白音ゆき |
| 2021年1月29日 | リトラタンの森 | 姫熊りぼん |
レーベル発足以前に発表。
| 発売日 | タイトル |
|---|---|
| 2019年4月3日 | 蒼に躊躇う |
| 2020年5月2日 | Daisy |
| 2020年6月30日 | Moment |
| 2020年7月25日 | 約束の花 |
| 発売日 | タイトル |
|---|---|
| 2019年9月25日 | Brightenin’ Hope |
| 2020年5月2日 | 5月のせいにして。 |
| 2020年11月7日 | レイニーデイリーファンキー |
| 発売日 | タイトル |
|---|---|
| 2020年7月29日 | フルスロットル☆すーぱーのゔぁ/スタ→ト!
フルスロットル☆すーぱーのゔぁ/スタ→ト! 【りぼん盤】 フルスロットル☆すーぱーのゔぁ/スタ→ト! 【はの盤】 |
| 発売日 | タイトル |
|---|---|
| 2020年10月16日 | Re:StarT |
| 発売日 | タイトル | 収録曲 |
|---|---|---|
| 2019年4月3日 | ハサミウタ |
全10曲
|
| 2019年5月2日 | Myosøtis/hasamiUta** |
全10曲
|
| 発売日 | タイトル | 収録曲 |
|---|---|---|
| 2019年9月25日 | LEONA’s YELL |
全6曲
|
| 2019年4月1日 | Leona’s YELL 2 |
全6曲
|
| 2019年4月1日 | 頑張れ頑張れ超頑張れ |
全5曲
|
| 発売日 | 商品名 | 曲 | 楽曲 | 備考 |
|---|---|---|---|---|
| 2021年12月8日 | e-ma e-maプロジェクト『e-ma e-ma』+ 花鋏キョウ Ver.[95] | 月ノ美兎、ミライアカリ、電脳少女シロ、ときのそら、もこ田めめめ、星街すいせい、湊あくあ、花鋏キョウ、音霊魂子 | 「e-ma e-ma(全員合唱ver)」 | UHA味覚糖「e-maのど飴」CMソング |
| 花鋏キョウ | 「花鋏キョウ ソロVer.」 | |||
| 2022年6月29日 | last cross - from CrosSing | 獅子神レオナ | 「last cross」 | カバーソングプロジェクト『CrosSing - Music&Voice-』配信楽曲[96] |
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/28 22:05 UTC 版)
「データバインディング」の記事における「React」の解説
Reactはhookと呼ばれる仕組みで一方向バインディングを実現している。 React専用関数 hook(useX)でデータ変数を定義し、UIを宣言する際にデータ変数を用いることでバインディングを行なう。その後、hookから返された更新関数(setXと慣習的に名付けられる)に新しいデータを渡すことでUIの更新が暗黙的にスケジューリングされる。hookは関数であるため一般には状態の保持は行なえないが、hookはReactの内部リストへアクセスすることで状態を保持している。 function MyComp(){ const [count, setCount] = useState(0); return (
);}ReactDOM.render(※この「React」の解説は、「データバインディング」の解説の一部です。
「React」を含む「データバインディング」の記事については、「データバインディング」の概要を参照ください。