Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門

Book description

Reactでは小さくて管理が容易なコンポーネントを組み合わせて、大きくて強力なアプリケーションを作成できます。本書の前半は入門編で、簡単なサンプルを使いながらReactの基本やJSXについて学びます。後半は、実際のアプリケーション開発に必要なものや開発を助けてくれるツールについての解説です。具体的には、JavaScriptのパッケージングツール(Browserify)、ユニットテスト(Jest)、構文チェック(ESLint)、型チェック(Flow)、データフローの最適化(Flux)、イミュータブルなデータ(immutableライブラリ)などを取り上げます。対象読者は、ES2015(ES6)の基本をマスターしているフロントエンド開発者。

Table of contents

  1.  大扉
  2.  原書大扉
  3.  クレジット
  4.  献辞
  5.  まえがき
  6.   本書の構成
  7.   サンプルコードの使用について
  8.   意見と質問
  9.   表記上のルール
  10.   謝辞
  11. 第1部 基礎
  12.  1章 Hello world
  13.   1.1 セットアップ
  14.   1.2 ハロー、Reactワールド
  15.   1.3 内部で起こっている処理
  16.   1.4 React.DOM.*
  17.   1.5 特別なDOMの属性
  18.   1.6 ブラウザの拡張機能(React Developer Tools)
  19.   1.7 予告:カスタムコンポーネント
  20.  2章 コンポーネントのライフサイクル
  21.   2.1 最低限の構成
  22.   2.2 プロパティ
  23.   2.3 propTypes
  24.    2.3.1 プロパティのデフォルト値
  25.   2.4 ステート
  26.   2.5 ステートを持ったテキストエリアのコンポーネント
  27.   2.6 DOMのイベント
  28.    2.6.1 従来のイベント処理
  29.    2.6.2 Reactでのイベント処理
  30.   2.7 プロパティとステート
  31.   2.8 初期状態をプロパティとして渡す(アンチパターン)
  32.   2.9 外部からコンポーネントへのアクセス
  33.   2.10 プロパティの事後変更
  34.   2.11 ライフサイクルのメソッド
  35.   2.12 ライフサイクルの例:すべてをログに記録する
  36.   2.13 ライフサイクルの例:ミックスイン
  37.   2.14 ライフサイクルの例:子コンポーネントの使用
  38.   2.15 パフォーマンスの向上:コンポーネントの更新を阻止する
  39.   2.16 PureRenderMixin
  40.  3章 <Excel>:高機能な表コンポーネント
  41.   3.1 まずはデータから
  42.   3.2 表のヘッダーを描画するループ
  43.   3.3 コンソールに表示された警告への対応
  44.   3.4 <td>のコンテンツの追加
  45.    3.4.1 コンポーネントへの機能追加
  46.   3.5 並べ替え
  47.    3.5.1 コンポーネントへの機能追加
  48.   3.6 並べ替えの矢印
  49.   3.7 データの編集
  50.    3.7.1 編集可能なセル
  51.    3.7.2 入力フィールドのセル
  52.    3.7.3 データの保存
  53.    3.7.4 まとめと仮想DOMの差分
  54.   3.8 検索
  55.    3.8.1 ステートとUI
  56.    3.8.2 コンテンツのフィルタリング
  57.    3.8.3 検索への機能追加
  58.   3.9 操作手順の再実行
  59.    3.9.1 再生への機能追加
  60.    3.9.2 別の実装方法
  61.   3.10 表データのダウンロード
  62.  4章 JSX
  63.   4.1 ハロー、JSX
  64.   4.2 JSXのトランスパイル
  65.   4.3 Babel
  66.   4.4 クライアント側でのトランスパイル
  67.   4.5 JSXでのトランスパイル
  68.   4.6 JSXでのJavaScript
  69.   4.7 JSXでの空白
  70.   4.8 JSXでのコメント
  71.   4.9 JSXでのHTMLエンティティ
  72.    4.9.1 XSS対策
  73.   4.10 スプレッド演算子
  74.    4.10.1 親から渡された属性とスプレッド演算子
  75.   4.11 複数のノードの生成
  76.   4.12 JSXとHTMLの違い
  77.    4.12.1 classとforは指定できない
  78.    4.12.2 styleにはオブジェクトを指定する
  79.    4.12.3 閉じタグは必須
  80.    4.12.4 キャメルケースの属性名
  81.   4.13 JSXとフォーム
  82.    4.13.1 onChangeハンドラ
  83.    4.13.2 valueとdefaultValue
  84.    4.13.3 <textarea>の値
  85.    4.13.4 <select>の値
  86.   4.14 JSX版のExcelコンポーネント
  87. 第2部 実践
  88.  5章 開発環境のセットアップ
  89.   5.1 アプリケーションのひな型
  90.    5.1.1 ファイルとフォルダー
  91.    5.1.2 index.html
  92.    5.1.3 CSS
  93.    5.1.4 JavaScript
  94.    5.1.5 モダンなJavaScript
  95.   5.2 必要なソフトウェアのインストール
  96.    5.2.1 Node.js
  97.    5.2.2 Browserify
  98.    5.2.3 Babel
  99.    5.2.4 Reactなど
  100.   5.3 ビルドの実行
  101.    5.3.1 JavaScriptのトランスパイル
  102.    5.3.2 JavaScriptのパッケージング
  103.    5.3.3 CSSのパッケージング
  104.    5.3.4 ビルドの結果
  105.    5.3.5 開発と同時のビルド
  106.   5.4 デプロイ
  107.   5.5 これからの作業
  108.  6章 アプリケーションのビルド
  109.   6.1 Whinepadバージョン0.0.1
  110.    6.1.1 セットアップ
  111.    6.1.2 コーティングの開始
  112.   6.2 コンポーネント
  113.    6.2.1 セットアップ
  114.    6.2.2 コンポーネント一覧
  115.    6.2.3 <Button>コンポーネント
  116.    6.2.4 Button.css
  117.    6.2.5 Button.js
  118.    6.2.6 フォーム
  119.    6.2.7 <Suggest>コンポーネント
  120.    6.2.8 <Rating>コンポーネント
  121.    6.2.9 ファクトリーとなる<FormInput>コンポーネント
  122.    6.2.10 <Form>コンポーネント
  123.    6.2.11 <Actions>コンポーネント
  124.    6.2.12 <Dialog>コンポーネント
  125.   6.3 アプリケーションの設定
  126.   6.4 <Excel>コンポーネント(改良版)
  127.   6.5 <Whinepad>
  128.   6.6 全体をまとめる
  129.  7章 品質チェック、型チェック、テスト、そして繰り返し
  130.   7.1 package.json
  131.    7.1.1 Babelの設定
  132.    7.1.2 スクリプト
  133.   7.2 ESLint
  134.    7.2.1 セットアップ
  135.    7.2.2 実行
  136.    7.2.3 ルール全体
  137.   7.3 Flow
  138.    7.3.1 セットアップ
  139.    7.3.2 実行
  140.    7.3.3 型チェックのための準備
  141.    7.3.4 <Button>の修正
  142.    7.3.5 app.js
  143.    7.3.6 プロパティとステートの型チェックに関する補足
  144.    7.3.7 型のインポートとエクスポート
  145.    7.3.8 型変換
  146.    7.3.9 インバリアント
  147.   7.4 テスト
  148.    7.4.1 セットアップ
  149.    7.4.2 最初のテスト
  150.    7.4.3 Reactでのテスト
  151.    7.4.4 <Button>のテスト
  152.    7.4.5 <Actions>のテスト
  153.    7.4.6 その他の操作のシミュレーション
  154.    7.4.7 インタラクション全体のテスト
  155.    7.4.8 カバレージ
  156.  8章 Flux
  157.   8.1 考え方の要点
  158.   8.2 Whinepadの見直し
  159.   8.3 Store
  160.    8.3.1 Storeでのイベント
  161.    8.3.2 <Whinepad>からStoreを利用する
  162.    8.3.3 <Excel>からStoreを利用する
  163.    8.3.4 <Form>からStoreを利用する
  164.    8.3.5 Storeとプロパティの使い分け
  165.   8.4 Action
  166.    8.4.1 CRUDのAction
  167.    8.4.2 検索と並べ替え
  168.    8.4.3 <Whinepad>からActionを利用する
  169.    8.4.4 <Excel>からActionを利用する
  170.   8.5 Fluxのまとめ
  171.   8.6 イミュータブル
  172.    8.6.1 イミュータブルなStoreのデータ
  173.    8.6.2 イミュータブルなデータの操作
  174.  カバーの説明
  175.  著者紹介
  176.  奥付

Product information

  • Title: Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門
  • Author(s): Stoyan Stefanov, 牧野 聡
  • Release date: March 2017
  • Publisher(s): O'Reilly Japan, Inc.
  • ISBN: 9784873117881

You might also like

book

UX戦略 ―ユーザー体験から考えるプロダクト作り

by Jaime Levy, 安藤 幸央, 長尾 高弘

本書は企業戦略としてユーザー体験の価値向上を取り入れ、プロダクトを成功へと導く「UX戦略」についての解説書です。UX戦略の考え方にもとづき潜在的顧客、競合他社製品、バリュープロポジション(提供価値の創造)といった要素の分析や評価を行い、革新的ユーザー体験を持つプロダクトを作り出す手法について、著者の豊富な経験から実例を使って解説します。成功するプロダクトを作るための具体的な手法の解説や、4名のUX戦略家たちの至高のメッセージが盛り込まれた一冊です。

book

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

by Andreas C. Muller, Sarah Guido, 中田 秀基

Pythonの機械学習用ライブラリの定番、scikit-learnのリリースマネージャを務めるなど開発に深く関わる著者が、scikit-learnを使った機械学習の方法を、ステップバイステップで解説します。ニューラルネットを学ぶ前に習得しておきたい機械学習の基礎をおさえるとともに、優れた機械学習システムを実装し精度の高い予測モデルを構築する上で重要となる「特徴量エンジニアリング」と「モデルの評価と改善」について多くのページを割くなど、従来の機械学習の解説書にはない特長を備えています。

book

エンジニアリングマネージャーのしごと ―チームが必要とするマネージャーになる方法

by James Stanier, 吉羽 龍太郎, 永瀬 美穂, 原田 騎郎, 竹葉 美沙

本書は、エンジニアリングチームのマネジメントの仕事全般を紹介し、エンジニアリングマネージャーに必要な考え方やスキルを解説します。はじめに、自分の役割と組織のさまざまな部分がどう関係するかを理解し、習慣を整えることで自分自身を管理することを学びます。そして、日々のマネジメント業務で必要なツールとプロセスを紹介し、スタッフとの関係性の構築、モチベーションの理解、評価や採用などを解説します。さらに社内政治や難しい状況での判断、その後のキャリアについて説明します。 マネジメントのさまざまな段階に沿って、日々の仕事に取り入れられる実践的なアドバイスを紹介する本書は、エンジニアリングチームのマネージャーに必携の一冊です。

book

初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド

by Jon Bodner, 武舎 広幸

イディオマティックなGo言語の解説書。構文がシンプル、静的型付け、タイプセーフでメモリセーフ、バグが入り込みにくい、並行処理が得意、実行速度が速い……これらの魅力的な特徴を生かすためには、Go言語らしい書き方を可能にする「イディオム」を学ぶ必要があります。Go言語のイディオムをマスターすれば、効率的で読みやすいコードを書けます。本書では、Go言語の基本機能を明快かつ簡潔に説明しつつ、イディオマティックなGoコードの書き方やGoプロジェクトの設計方法を解説します。読者はベテランのGo開発者のように考える術を学べます。