React

logo by @sawaratsuki1004

Web とネイティブユーザインターフェースのためのライブラリ

コンポーネントから
ユーザインターフェースを作成

React ではユーザインターフェースを、コンポーネントと呼ばれる部品を使って構築できます。ThumbnailLikeButtonVideoといった React コンポーネントを書き、それらを組み合わせて画面やページやアプリの全体を組み立てましょう。

独りで開発していても、数千の開発者と共同開発していても、React の開発体験は同じです。個人、チーム、大規模な組織によって書かれたさまざまなコンポーネントを、シームレスに組み合わせながら開発できる。それが React の設計理念です。

マークアップとコードから
コンポーネントを作成

React コンポーネントは単なる JavaScript の関数です。条件によってコンテンツの表示を変えたければ if 文を使いましょう! リストを表示したいなら配列の map() を使いましょう! React を学ぶということは、プログラミングを学ぶということなのです。

このマークアップ構文は JSX と呼ばれます。React が普及させた JavaScript の構文拡張です。JSX マークアップは関連するレンダリングロジックのすぐそばに配置できるので、React コンポーネントは簡単に作成、保守、削除ができます。

インタラクティブ機能を
どこでも必要な場所に

React コンポーネントはデータを受け取り、画面に表示するものを返します。入力フィールドへのタイピングなどのユーザ操作によって新しいデータができたら、コンポーネントにそれを渡します。React が新しいデータに基づいて画面を更新します。

ページ全体を React で構築する必要はありません。既存の HTML ページに React を追加すれば、どんな場所にでもインタラクティブな React コンポーネントを表示できます。

既存のページに React を追加する

フレームワークで
フルスタックな開発を

React はライブラリです。コンポーネントを組み合わせることはできますが、ルーティングやデータフェッチの方法までは指定しません。React でアプリ全体を構築する場合は、Next.jsReact Router のようなフルスタックのフレームワークをお勧めします。

React とはアーキテクチャでもあります。フレームワークでは、サーバやビルド時に動作する非同期コンポーネントを使ってデータの取得が可能です。ファイルやデータベースからデータを読み込んで、インタラクティブなコンポーネントに渡しましょう。

フレームワークで始める

あらゆるプラットフォームの
能力を最大限に活用

人々はウェブを愛し、そしてネイティブアプリを愛しています。その理由は様々です。React を使えば、同じスキルを使ってウェブアプリとネイティブアプリの両方を構築できます。各プラットフォームが持つ独自の強みを活かし、どんなプラットフォームにおいても自然なインターフェースを実現します。

React を使えば、ウェブ開発者にもネイティブアプリ開発者にもなれるのです。ユーザー体験を犠牲にすることなく、多くのプラットフォームでリリースを行えます。ひとつのプラットフォームに縛られることなく、すべての機能をエンドツーエンドで担当するチームを作れます。

ネイティブプラットフォーム向けに開発する

完成した機能だけが
リリースされる

React は開発アプローチの変更に慎重に取り組みます。すべてのコミットは 10 億人以上のユーザによるビジネスクリティカルな環境においてテストされます。Meta にある 10 万以上の React コンポーネントが、すべての移行戦略の検証を支援します。

React チームは、常に React を改善する方法を模索していますが、研究によっては成果が出るまでに何年もかかることもあります。研究のアイデアをリリースするまでの高いハードルを越えた、実証済みのアプローチだけが React の一部となるのです。

React のニュースを読む

数百万人の
コミュニティに参加しよう

あなたは 1 人ではありません。世界中から毎月 200 万人の開発者が React ドキュメントに訪れています。人々とチームが共感できる技術、それが React なのです。

React は単なるライブラリやアーキテクチャ、あるいはエコシステム以上の存在です。React とはコミュニティです。ヘルプを求め、チャンスを見つけ、新しい友人に会える場所です。開発者やデザイナ、初心者やエキスパート、研究者やアーティスト、教師や学生と出会える場所です。私たちのバックグラウンドはさまざまですが、React を通じて皆でユーザーインターフェースの創造に取り組んでいるのです。

logo by @sawaratsuki1004

React コミュニティに
ようこそ!

はじめる