WebStorm 2019.1ヘルプ

React

Reactは、カプセル化されたコンポーネントから複雑なインタラクティブユーザインターフェースを構築するためのJavaScriptライブラリーです。ライブラリーの詳細については、React(英語)公式サイトを参照してください。

WebStormは、Reactと統合され、lintの設定、編集、実行、デバッグ、およびアプリケーションの保守を支援します。

新しいReactアプリケーションの作成

create-react-app(英語)パッケージを使用するか、空のWebStormプロジェクトを作成してReactをインストールすることができます。

create-react-appでReactアプリケーションを生成する

Reactアプリケーションを作成する(英語)は、新しいReactシングルページアプリケーションの構築を開始するための推奨方法です。その結果、開発環境はwebpack、Babel、ESLint、およびその他のツールを使用するように事前設定されています。ReactのインストールとReactアプリケーションの作成については、React(英語)の公式Webサイトから学びましょう。

create-react-appをグローバルにインストールするには

  • 組み込みのターミナル表示 | ツール・ウィンドウ | ターミナル)を開き、コマンドプロンプトで npm install -g create-react-app と入力します。

アプリケーションを作成するには

  1. メインメニューでファイル | 新規 | プロジェクトを選択するか、ようこそ画面で新規プロジェクトの作成をクリックしてください。新規プロジェクトの作成ダイアログが開きます。

  2. 左側のペインで、React アプリを選択します。

  3. 右側のウィンドウで、プロジェクトフォルダー、使用するNode.jsインタープリター、および create-react-app パッケージへのパスを指定します。

  4. オプション :
    プロジェクト生成中にreact-scripts(英語)の代わりに使用するカスタムパッケージを指定します。これは react-scriptsから分岐したパッケージの1つ、例えばreact-awesome-scripts(英語)custom-react-scripts(英語)react-scripts-ts(英語)などです。

  5. 作成をクリックすると、WebStormは必要なすべての設定ファイルを含むReact -specificプロジェクトを生成します。

プロジェクトの依存関係をダウンロードするには、次のいずれかの操作を行います。

  • 埋め込みターミナルAlt+F12)に次のように入力します。

    npm install

  • プロジェクトルートの package.json ファイルのコンテキストメニューから実行 'npm install'を選択します。

空のWebStormプロジェクトにReactをインストールする

この場合、以下のReactアプリケーションの構築の説明に従ってビルドパイプラインを自分で設定する必要があります。React(英語)公式サイトからプロジェクトにReactを追加する方法の詳細を参照してください。

空のWebStormプロジェクトを作成するには

  1. メインメニューでファイル | 新規 | プロジェクトを選択するか、ようこそ画面で新規プロジェクトの作成をクリックしてください。新規プロジェクトの作成ダイアログが開きます。

  2. 左側のペインで、空のプロジェクトを選択します。右側のウィンドウで、アプリケーションフォルダーを指定し、作成をクリックします。

空のプロジェクトにReactをインストールするには

  1. Reactを使用する空のプロジェクトを開きます。

  2. 埋め込みターミナルAlt+F12)に次のように入力します。

    npm install --save react react-dom

既存のReactアプリケーションから開始

既存のReactアプリケーションの開発を継続するには、WebStormで開き、必要な依存関係をダウンロードします。

既にあなたのマシンにあるアプリケーションソースを開くには

  • ようこそ画面で開くをクリックするか、メインメニューでファイル | 開くを選択します。開いたダイアログで、ソースが保存されているフォルダーを選択します。

バージョンコントロールからアプリケーションソースをチェックアウトするには

  1. ようこそ画面でバージョン管理からチェック・アウトをクリックするか、メインメニューでVCS | バージョン管理からチェック・アウトを選択します。

  2. リストからバージョン管理システムを選択します。

  3. 表示されるVCS固有のダイアログで、アプリケーションのソースをチェックアウトするための資格情報とリポジトリを入力します。

依存関係をダウンロードするには

  • ポップアップで実行 'npm install'をクリックしてください。

    Opening an Angular application and downloading the dependencies from package.json

コードの補完

WebStormは、React API用のコード補完とJavaScriptコードのJSX(英語)を提供します。コード補完は、Reactメソッド、React 固有属性、HTMLタグとコンポーネント名、Reactイベント(英語)、コンポーネントプロパティーなどで機能します。React(英語)の公式ウェブサイトで詳細を学びましょう。

ReactメソッドとReact 固有属性に対してコード補完を取得するには、react.js ライブラリーファイルをプロジェクトのどこかに配置する必要があります。通常、ライブラリーはすでに node_modules フォルダーにあります。

Reactのメソッド、属性、およびイベントの補完

デフォルトでは、入力時にコード補完ポップアップが自動的に表示されます: 例えば:

Completion popup
JSXタグでは、WebStormは classNameclassIDなどのReact 固有属性(英語)、および keyrefなどの非DOM属性(英語)のコーディング支援を提供します。さらに、自動補完は、プロジェクトのCSSファイルで定義されているクラスの名前に対しても機能します。
onClick または onChangeなどのすべてのReactイベント(英語)は、中括弧波括弧(={})と一緒に自動的に完了することもできます。
ws_react_events.png
また、中括弧波括弧内のJavaScript式の補完も可能です。これは、定義したすべてのメソッドと関数に適用されます。
ws_react_javascript_expression.png

HTMLタグとコンポーネント名の入力

WebStormは、JavaScriptや他のコンポーネントのメソッドの内部で定義したHTMLタグとコンポーネント名に対してコード補完を提供します。

ws_react_component_completion.png
補完は、ES6形式の構文を持つインポートされたコンポーネントに対しても機能します。
ws_react_imported_component_completion.png

コンポーネントプロパティーの補完

WebStormは、propTypes を使用して定義されたコンポーネントプロパティーに対してコード補完を提供し、それらの定義を迅速にジャンプまたはプレビューできるように解決します。

ws_react_component_properties.png
コンポーネントの名前を自動補完すると、WebStormは必要なすべてのプロパティーを自動的に追加します。必要なプロパティーの一部がコンポーネントの使用に欠落している場合、WebStormはそのことについて警告します。

JSXへのHTML属性の転送

クラス属性またはイベントハンドラを使用してHTMLコードをコピーしてJSXに貼り付けると、WebStormは自動的にこれらの属性をReact 固有のものに置き換えます ( classNameonClickonChangeなどです。)

HTMLコードをJSXにそのままコピーするには、そのまま貼り付けCtrl+Shift+Alt+V)を使用します。

Reactコードスニペットの使用

WebStormには、Reactアプリで頻繁に使用されるさまざまなステートメントやコードブロックに展開される50以上のコードスニペットのコレクションが付属しています。次の例は、rcjc の省略形を使用して、新しいReactコンポーネントを定義するクラスを作成する方法を示しています。

スニペットからReactコード構成を作成するには

  • 必要な省略形をエディターに入力し、Tabを押します。

  • Ctrl+J を押して適切なスニペットを選択してください。検索を絞り込むには、略語を入力してから補完リストから選択します。

利用可能なすべてのReactスニペットのリストを表示するには

  • 設定/環境設定ダイアログ(Ctrl+Alt+S)で、エディターライブ・テンプレートをクリックし、Reactノードを展開します。

JSXでのEmmetの使用

WebStormを使用すると、Emmet(英語)をHTMLだけでなく、特別なReact twistsを利用するJSXコードで使用することができます。例:略称 div.my-class は、JSXでは <div className=”my-class"></div> に展開されますが、HTMLでは <div class=”my-class"></div> に展開されません。

Reactアプリケーションのナビゲート

基本的なナビゲーションのほかに、WebStormはReact 固有コード要素間のジャンプを手助けします。

  • 中括弧波括弧 {}内のメソッドまたはJavaScript式の定義にジャンプするには、そのメソッドまたは式を選択し、Ctrl+Bを押します。

  • コンポーネントの定義にジャンプするには、コンポーネント名を選択し、Ctrl+Bを押します。

  • コンポーネントのドキュメントを表示するには、Ctrl+Shift+Iを押します。

ws_react_quick_definition.png

WebStormを使用すると、エディターガーターのタグツリーのパンくずリストとカラフルな強調表示を使用してJSXタグを簡単にナビゲートできます。

Highlighting and breadcrumbs for JSX tags in a React application

LintおよびReactアプリケーション

JavaScriptおよびHTML用のWebStorm組み込みコードインスペクションもすべてJSXコードで機能します。WebStormは、未使用の変数や関数、終了タグの欠落、ステートメントの欠如などの場合に警告します。

ws_react_inspection.png
いくつかのインスペクションのためにWebStormはクイックフィックスを提供します、例えば、欠落しているメソッドを追加することを提案します。クイックフィックスポップアップを表示するには、Alt+Enterを押します。

ESLintの使用

組み込みコードインスペクションを提供するほかに、WebStormはJSZコード用のESLint(英語)などのlinterと統合されています。ESLintは、lintの広範なルールを提供し、プラグインでも拡張できます。WebStormは、ESLintによって報告された警告とエラーを入力時にエディターに表示します。ESLintでは、JavaScript標準スタイル(英語)を使用することもできます。

ESLintにReact JSX構文を正しく理解させるには、eslint-plugin-react(英語)が必要です。このプラグインでは、表示名がReactコンポーネントに設定されていない場合や、危険なJSXプロパティーが使用されている場合など、警告が表示されます。

ws_eslint_react.png

WebStormでESLintを使い始めるには

  1. 組み込みのターミナル表示 | ツール・ウィンドウ | ターミナル)に npm install --save-dev eslintnpm install --save-dev eslint-plugin-reactを入力します。

  2. プロジェクトにESLint構成ファイル .eslintrc を追加します。

  3. 設定/環境設定ダイアログ(Ctrl+Alt+S)で、言語とフレームワーク | JavaScript | コード品質ツール | ESLintに進みます。開いたESLintページで、有効にするチェックボックスを選択します。WebStormは自動的にプロジェクトの node_modules フォルダーにあるESLintを見つけ、デフォルトで .eslintrc 設定を使用します。

ws_eslint_enable.png

.eslintrc構造体の例 (反応プラグイン付きESLint 1.x)

{ "parser": "babel-eslint", "env": { "browser": true }, "ecmaFeatures": { "jsx": true }, "plugins": [ "react" ], "rules": { "semi": 2 } }
ESLint(英語)公式サイトのESLintと react プラグイン設定の詳細を参照してください。

Reactアプリケーションのリファクタリング

一般的なWebStormリファクタリングに加えて、Reactアプリケーションでは、Reactコンポーネントに対して名前変更を実行し、コンポーネントの抽出を使用して新しいコンポーネントを作成することもできます。

コンポーネントの名前を変更する

  • コンポーネント名の中にカーソルを置き、Shift+F6を押します

以下は、1つのファイルで定義されて使用されるコンポーネントの名前を変更する例です。

同じ方法で、1つのファイルで定義されたコンポーネントの名前を変更し、名前付きエクスポートを使用して別のファイルにインポートすることもできます。

コンポーネントを抽出する

既存のコンポーネントのrenderメソッドからJSXコードを抽出して、新しいReactコンポーネントを作成することができます。

  1. 抽出するコードを選択し、メインメニューまたはコンテキストメニューからリファクタリング | 抽出 | コンポーネントを選択します。

  2. コンポーネントに名前を付けます。

  3. コンポーネントをクラスとして定義する場合はクラスを選択し、機能コンポーネントを作成する場合は関数を選択します。

  4. OKをクリックします。新しいコンポーネントは、既存のコンポーネントの隣に定義され、そこで使用されます。

Reactアプリケーションでの分割代入

構造化を使用すると、配列やオブジェクトの値を変数に簡単に展開できます。この機能には非常に簡潔な構文があり、アプリケーションでデータを渡す必要があるときによく使用されます。

WebStormでは、多数のインテンションアクションとクイックフィックスを使用して、配列またはオブジェクトから複数の値を取得するコードの断片を単純化することができます。Reactクラスコンポーネントを操作するときは、オブジェクトまたは配列の分割代入を導入する インテンションアクションの使用を検討してください。

Reactアプリケーションの実行とデバッグ

新しいReactシングルページアプリケーションを構築するための推奨方法はReactアプリケーションを作成する(英語)です。この場合のみ、開発環境はwebpackとBabelを使用するように事前設定されています。それ以外の場合は、最初にビルドパイプラインを構成する必要があります。

Reactアプリケーションを実行するには、次のいずれかの操作を行います。

  • npmツールウィンドウ表示 | ツール・ウィンドウ | npm)で、start タスクをダブルクリックします。

    Webpackホットモジュール交換(英語)のおかげで、開発サーバーが稼動しているときに、ソースファイルを変更して更新を保存するとすぐにアプリケーションが自動的に再ロードされます。

Reactアプリケーションをデバッグするには

  1. 開発モードでアプリケーションを起動するには、npmツールウィンドウの start タスクをダブルクリックします。

  2. アプリケーションがコンパイルされ、Webpack開発サーバーが準備完了するまで待ちます。アプリケーションを表示するには、http://localhost:3000/ でブラウザを開きます。

  3. アプリケーションが実行されているURLアドレス(デフォルトでhttp://localhost:3000/ )をコピーすると、後でデバッグ設定を作成するときにこのURLが必要になります。

    ws_react_debug_cra_app_is_running.png

  4. 新しいJavaScript デバッグ設定を作成します:実行 | 構成の編集を選択し、Add iconをクリックして、リストからJavaScript デバッグを選択します。実行/デバッグ構成: JavaScript デバッグダイアログで、保存したURL(http://localhost:3000/)をURLフィールドに貼り付けます。設定を保存します。

  5. コード内にブレークポイントを設定し、設定リストの横にある the Debug button をクリックしてデバッグセッションを開始します。

  6. 最初のブレークポイントに到達したら、デバッグツールウィンドウに切り替えて通常どおりに進みます。プログラムをステップ実行し、プログラムの実行を停止して再開 し、中断時にそれを調べ、コールスタックと変数を調べて監視を設定します。等々。

    ws_react_debug_cra_debug_session.png

Reactアプリケーションの構築

Reactを既存のWebStormプロジェクトにインストールした場合は、ビルドプロセスを設定する必要があります。React(英語)公式Webサイトから、Reactアプリケーションのビルドパイプラインを構成するさまざまな方法について学びましょう。

Reactアプリケーションのテスト

Reactアプリケーションcreate-react-appで作成Jestテスト(英語)を実行およびデバッグできます。開始する前に、react-scripts パッケージが package.jsondependencies オブジェクトに追加されていることを確認してください。

Jestテストは、実行/デバッグ設定を使用して、またはエディターから、またはプロジェクトツールウィンドウからJestテストを実行してデバッグすることができます。詳しくは、Jestを参照してください。

Jestの実行/デバッグ設定を作成するには

  1. 実行/デバッグ構成ダイアログ(メインメニューの実行 | 構成の編集)を開きます。

  2. ツールバーの the Add button をクリックして、リストからJestを選択します。実行/デバッグ構成: Jestダイアログが開きます。

  3. 使用するノードインタープリターとアプリケーションの作業ディレクトリーを指定します。デフォルトでは、作業ディレクトリーフィールドにプロジェクトのルートフォルダーが表示されます。この定義済み設定を変更するには、目的のフォルダーへのパスを指定するか、リストから以前に使用したフォルダーを選択します。

  4. Jest パッケージフィールドに、react-scripts パッケージへのパスを指定します。

  5. Jest オプションフィールドに --env=jsdomと入力します。

    ws_react_run_config_jest.png

テストを実行する

  1. メインツールバーのリストからJest実行/デバッグ設定を選択し、リストの右側にある Run with Coverage をクリックします。

    ws_select_run_configuration_jest.png

  2. テストサーバーは自動的に起動します。実行ツールウィンドウで、テストサーバーからのメッセージを表示および分析します。

  3. 実行ツールウィンドウのテスト・ランナータブのテスト実行の監視

テストをデバッグするには

  1. メインツールバーのリストからJest実行/デバッグ設定を選択し、リストの右側にある the Debug button をクリックします。

  2. 開いたデバッグツールウィンドウでは、いつものように進む: テストをステップ実行停止し、再開し、テストの実行を中断したときにテストを検討するように、と。

いくつかの既知の制限

  • デバッグセッション中に初めてアプリケーションを開くと、ページのロード時に実行されるコード内のブレークポイントの一部がヒットしないことがあります。その理由は、元のソースコードでブレークポイントを停止するには、WebStormがブラウザからソースマップを取得する必要があるからです。ただし、ブラウザは、ページが少なくとも1回は完全に読み込まれた後にのみ、これらのソースマップを渡すことができます。この問題を回避するには、ブラウザでページをリロードしてください。

  • Webpackより前のバージョンのwebpack-dev-serverを使用している場合は、WebStormのSafe書き込み機能を無効にすることをお勧めします。それ以外の場合、アプリケーションは変更された時点では更新されません。この問題は、Webpack 2で修正されています。

最終更新日: 2019年3月25日

関連事項

関連ページ:

新規プロジェクトの作成ダイアログ

このダイアログボックスを使用して、空のプロジェクトを作成するか、アプリケーションを開発するためのフレームワーク固有のプロジェクトスタブを生成します。ダイアログボックスの左側のペインには、スタブを生成できるプロジェクトタイプのリストが表示されます。利用可能なプロジェクトタイプのセットは、インストールさ...

npmおよびYarn

WebStormはnpmおよびYarnパッケージマネージャと統合されているので、IDE内から再利用可能なコードのパッケージをインストール、検索、アップグレード、削除することができます。Node.jsとNPMページはパッケージを管理するための専用のUIを提供します。もちろん、内蔵のターミナルのコマンド...

コードとパスの自動補完

コード補完はWebStormエディターの重要な機能の1つです。補完候補を表示するために、WebStormはプロジェクトファイルをソースコードで調べ、それらに定義されているクラス、メソッド、関数、および変数を特別な内部インデックスに追加します。JSDocのコメント、TypeScript型定義などからの...

ソースコードナビゲーション

さまざまなアクションやポップアップを使用して、エディター内のコードを素早くナビゲートすることができます。エディターウィンドウとツールウィンドウ間のナビゲーションについては、エディターの基本を確認してください。ファイルパスを探すエディターでCtrl+Alt+F12を押すか、コンテキストメニューでFin...

ESLint

デフォルトでは、WebStormは、ESLint構成の重大度に基づいて検出された問題をマークします。これらの設定を無効にする方法については、ESLintハイライトの設定を参照してください。始める前に、コンピューターにNode.jsがあることを確認してください。WebStormはESLintと統合され...

コード・インスペクション

WebStormには、プロジェクト内の異常コードを検出して修正する一連のコードインスペクションがあります。IDEはさまざまな問題を見つけて強調表示し、デッドコードを見つけ、可能性のあるバグを見つけ、問題をつづり、コード構造全体を改善することができます。インスペクションは、すべてのプロジェクトファイル...