Book description
Reactでは小さくて管理が容易なコンポーネントを組み合わせて、大きくて強力なアプリケーションを作成できます。本書の前半は入門編で、簡単なサンプルを使いながらReactの基本やJSXについて学びます。後半は、実際のアプリケーション開発に必要なものや開発を助けてくれるツールについての解説です。具体的には、JavaScriptのパッケージングツール(Browserify)、ユニットテスト(Jest)、構文チェック(ESLint)、型チェック(Flow)、データフローの最適化(Flux)、イミュータブルなデータ(immutableライブラリ)などを取り上げます。対象読者は、ES2015(ES6)の基本をマスターしているフロントエンド開発者。
Table of contents
- 大扉
- 原書大扉
- クレジット
- 献辞
- まえがき
- 本書の構成
- サンプルコードの使用について
- 意見と質問
- 表記上のルール
- 謝辞
- 第1部 基礎
- 1章 Hello world
- 1.1 セットアップ
- 1.2 ハロー、Reactワールド
- 1.3 内部で起こっている処理
- 1.4 React.DOM.*
- 1.5 特別なDOMの属性
- 1.6 ブラウザの拡張機能(React Developer Tools)
- 1.7 予告:カスタムコンポーネント
- 2章 コンポーネントのライフサイクル
- 2.1 最低限の構成
- 2.2 プロパティ
- 2.3 propTypes
- 2.3.1 プロパティのデフォルト値
- 2.4 ステート
- 2.5 ステートを持ったテキストエリアのコンポーネント
- 2.6 DOMのイベント
- 2.6.1 従来のイベント処理
- 2.6.2 Reactでのイベント処理
- 2.7 プロパティとステート
- 2.8 初期状態をプロパティとして渡す(アンチパターン)
- 2.9 外部からコンポーネントへのアクセス
- 2.10 プロパティの事後変更
- 2.11 ライフサイクルのメソッド
- 2.12 ライフサイクルの例:すべてをログに記録する
- 2.13 ライフサイクルの例:ミックスイン
- 2.14 ライフサイクルの例:子コンポーネントの使用
- 2.15 パフォーマンスの向上:コンポーネントの更新を阻止する
- 2.16 PureRenderMixin
- 3章 <Excel>:高機能な表コンポーネント
- 3.1 まずはデータから
- 3.2 表のヘッダーを描画するループ
- 3.3 コンソールに表示された警告への対応
- 3.4 <td>のコンテンツの追加
- 3.4.1 コンポーネントへの機能追加
- 3.5 並べ替え
- 3.5.1 コンポーネントへの機能追加
- 3.6 並べ替えの矢印
- 3.7 データの編集
- 3.7.1 編集可能なセル
- 3.7.2 入力フィールドのセル
- 3.7.3 データの保存
- 3.7.4 まとめと仮想DOMの差分
- 3.8 検索
- 3.8.1 ステートとUI
- 3.8.2 コンテンツのフィルタリング
- 3.8.3 検索への機能追加
- 3.9 操作手順の再実行
- 3.9.1 再生への機能追加
- 3.9.2 別の実装方法
- 3.10 表データのダウンロード
- 4章 JSX
- 4.1 ハロー、JSX
- 4.2 JSXのトランスパイル
- 4.3 Babel
- 4.4 クライアント側でのトランスパイル
- 4.5 JSXでのトランスパイル
- 4.6 JSXでのJavaScript
- 4.7 JSXでの空白
- 4.8 JSXでのコメント
- 4.9 JSXでのHTMLエンティティ
- 4.9.1 XSS対策
- 4.10 スプレッド演算子
- 4.10.1 親から渡された属性とスプレッド演算子
- 4.11 複数のノードの生成
- 4.12 JSXとHTMLの違い
- 4.12.1 classとforは指定できない
- 4.12.2 styleにはオブジェクトを指定する
- 4.12.3 閉じタグは必須
- 4.12.4 キャメルケースの属性名
- 4.13 JSXとフォーム
- 4.13.1 onChangeハンドラ
- 4.13.2 valueとdefaultValue
- 4.13.3 <textarea>の値
- 4.13.4 <select>の値
- 4.14 JSX版のExcelコンポーネント
- 第2部 実践
- 5章 開発環境のセットアップ
- 5.1 アプリケーションのひな型
- 5.1.1 ファイルとフォルダー
- 5.1.2 index.html
- 5.1.3 CSS
- 5.1.4 JavaScript
- 5.1.5 モダンなJavaScript
- 5.2 必要なソフトウェアのインストール
- 5.2.1 Node.js
- 5.2.2 Browserify
- 5.2.3 Babel
- 5.2.4 Reactなど
- 5.3 ビルドの実行
- 5.3.1 JavaScriptのトランスパイル
- 5.3.2 JavaScriptのパッケージング
- 5.3.3 CSSのパッケージング
- 5.3.4 ビルドの結果
- 5.3.5 開発と同時のビルド
- 5.4 デプロイ
- 5.5 これからの作業
- 6章 アプリケーションのビルド
- 6.1 Whinepadバージョン0.0.1
- 6.1.1 セットアップ
- 6.1.2 コーティングの開始
- 6.2 コンポーネント
- 6.2.1 セットアップ
- 6.2.2 コンポーネント一覧
- 6.2.3 <Button>コンポーネント
- 6.2.4 Button.css
- 6.2.5 Button.js
- 6.2.6 フォーム
- 6.2.7 <Suggest>コンポーネント
- 6.2.8 <Rating>コンポーネント
- 6.2.9 ファクトリーとなる<FormInput>コンポーネント
- 6.2.10 <Form>コンポーネント
- 6.2.11 <Actions>コンポーネント
- 6.2.12 <Dialog>コンポーネント
- 6.3 アプリケーションの設定
- 6.4 <Excel>コンポーネント(改良版)
- 6.5 <Whinepad>
- 6.6 全体をまとめる
- 7章 品質チェック、型チェック、テスト、そして繰り返し
- 7.1 package.json
- 7.1.1 Babelの設定
- 7.1.2 スクリプト
- 7.2 ESLint
- 7.2.1 セットアップ
- 7.2.2 実行
- 7.2.3 ルール全体
- 7.3 Flow
- 7.3.1 セットアップ
- 7.3.2 実行
- 7.3.3 型チェックのための準備
- 7.3.4 <Button>の修正
- 7.3.5 app.js
- 7.3.6 プロパティとステートの型チェックに関する補足
- 7.3.7 型のインポートとエクスポート
- 7.3.8 型変換
- 7.3.9 インバリアント
- 7.4 テスト
- 7.4.1 セットアップ
- 7.4.2 最初のテスト
- 7.4.3 Reactでのテスト
- 7.4.4 <Button>のテスト
- 7.4.5 <Actions>のテスト
- 7.4.6 その他の操作のシミュレーション
- 7.4.7 インタラクション全体のテスト
- 7.4.8 カバレージ
- 8章 Flux
- 8.1 考え方の要点
- 8.2 Whinepadの見直し
- 8.3 Store
- 8.3.1 Storeでのイベント
- 8.3.2 <Whinepad>からStoreを利用する
- 8.3.3 <Excel>からStoreを利用する
- 8.3.4 <Form>からStoreを利用する
- 8.3.5 Storeとプロパティの使い分け
- 8.4 Action
- 8.4.1 CRUDのAction
- 8.4.2 検索と並べ替え
- 8.4.3 <Whinepad>からActionを利用する
- 8.4.4 <Excel>からActionを利用する
- 8.5 Fluxのまとめ
- 8.6 イミュータブル
- 8.6.1 イミュータブルなStoreのデータ
- 8.6.2 イミュータブルなデータの操作
- カバーの説明
- 著者紹介
- 奥付
Product information
- Title: Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門
- Author(s):
- Release date: March 2017
- Publisher(s): O'Reilly Japan, Inc.
- ISBN: 9784873117881
You might also like
book
UX戦略 ―ユーザー体験から考えるプロダクト作り
本書は企業戦略としてユーザー体験の価値向上を取り入れ、プロダクトを成功へと導く「UX戦略」についての解説書です。UX戦略の考え方にもとづき潜在的顧客、競合他社製品、バリュープロポジション(提供価値の創造)といった要素の分析や評価を行い、革新的ユーザー体験を持つプロダクトを作り出す手法について、著者の豊富な経験から実例を使って解説します。成功するプロダクトを作るための具体的な手法の解説や、4名のUX戦略家たちの至高のメッセージが盛り込まれた一冊です。
book
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
Pythonの機械学習用ライブラリの定番、scikit-learnのリリースマネージャを務めるなど開発に深く関わる著者が、scikit-learnを使った機械学習の方法を、ステップバイステップで解説します。ニューラルネットを学ぶ前に習得しておきたい機械学習の基礎をおさえるとともに、優れた機械学習システムを実装し精度の高い予測モデルを構築する上で重要となる「特徴量エンジニアリング」と「モデルの評価と改善」について多くのページを割くなど、従来の機械学習の解説書にはない特長を備えています。
book
エンジニアリングマネージャーのしごと ―チームが必要とするマネージャーになる方法
本書は、エンジニアリングチームのマネジメントの仕事全般を紹介し、エンジニアリングマネージャーに必要な考え方やスキルを解説します。はじめに、自分の役割と組織のさまざまな部分がどう関係するかを理解し、習慣を整えることで自分自身を管理することを学びます。そして、日々のマネジメント業務で必要なツールとプロセスを紹介し、スタッフとの関係性の構築、モチベーションの理解、評価や採用などを解説します。さらに社内政治や難しい状況での判断、その後のキャリアについて説明します。 マネジメントのさまざまな段階に沿って、日々の仕事に取り入れられる実践的なアドバイスを紹介する本書は、エンジニアリングチームのマネージャーに必携の一冊です。
book
初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド
イディオマティックなGo言語の解説書。構文がシンプル、静的型付け、タイプセーフでメモリセーフ、バグが入り込みにくい、並行処理が得意、実行速度が速い……これらの魅力的な特徴を生かすためには、Go言語らしい書き方を可能にする「イディオム」を学ぶ必要があります。Go言語のイディオムをマスターすれば、効率的で読みやすいコードを書けます。本書では、Go言語の基本機能を明快かつ簡潔に説明しつつ、イディオマティックなGoコードの書き方やGoプロジェクトの設計方法を解説します。読者はベテランのGo開発者のように考える術を学べます。