Slide 1

Slide 1 text

はじめてのReact 黒岩 卓誠 2021/03/16 My First React

Slide 2

Slide 2 text

My First React 自己紹介 ● 黒岩 卓誠(くろいわ たくみ)入社1年目 ● エンジニア歴6年目(エンジニア挫折経験あり)30歳 ● 趣味(ライフワーク) : ももクロ等、アイドル活動 ● Java好き。JavaScriptは… ● 息子(0歳)絶賛子育て中!

Slide 3

Slide 3 text

はじめてのReact Reactと仲良くなる為にやっていること

Slide 4

Slide 4 text

My First React 今日お話すること 1. Reactをざっくり理解する 2. React習得に向けての自己分析 3. とにかく作る!(考えるより、慣れろ!)

Slide 5

Slide 5 text

1. Reactをざっくり理解する

Slide 6

Slide 6 text

キーワード 「大まかに」 「ざっくりと」

Slide 7

Slide 7 text

全体像を先に理解する

Slide 8

Slide 8 text

My First React 大まかに全体像を把握しておくと・・・ 1. やるべきことが明確になってくる React難しそう(絶望) → “Redux”は難しい 1. 親近感が生まれる (少しでも)わかる → 楽しい!もっとやろう

Slide 9

Slide 9 text

全体像把握 = 情報が必要

Slide 10

Slide 10 text

技術書を複数用意する

Slide 11

Slide 11 text

今回選んだ書籍・情報源

Slide 12

Slide 12 text

My First React ・りあクト https://oukayuka.booth.pm/  読み物としてGood! React全体を押さえる ・React開発 現場の教科書  https://book.mynavi.jp/ec/products/detail/id=88735  手元にあると安心。教科書として。(図がGood!) ・開眼!JavaScript : JS言語仕様を学ぶ https://www.oreilly.co.jp/books/9784873116211/ ・改訂新版JavaScript本格入門  https://gihyo.jp/book/2016/978-4-7741-8411-1 現在進行形でお世話になっている技術書です! 技術書買うためにお小遣い 貯めてます・・・w

Slide 13

Slide 13 text

My First React 1. Reactをざっくり理解する What’s React? ● 「JavaScript library for building user interfaces」 ● 「ユーザーインターフェース構築のためのJavaScriptライブラリ」 ● ”UIを構築する”ためのライブラリであり、それ以外は関与しない ● React = UIライブラリ / フレームワークではない ● 「データを画面に表示する」のが主な仕事

Slide 14

Slide 14 text

My First React React公式で掲げられている3大コンセプト https://ja.reactjs.org/ ※ 今回は①と②のみ説明 1 2 3

Slide 15

Slide 15 text

My First React 宣言的View 手続き型(jQuery) ● DOM(Document Object Model)を直接いじって動的ページを生 成する。※ DOMの詳細はMDN のDOMの紹介ページ参照 ● 見た目(HTML)と操作(JavaScript)が分離していて、何をやったら何 がどう変更されるか把握しにくい。 ● あちこちから画面が参照・更新され、どこでどのような影響が出るかが 分かりにくい傾向がある。 codesandboxサンプル https://codesandbox.io/s/lt-sample-1-forked-pk90o?file=/src/sample1.ht ml

Slide 16

Slide 16 text

My First React 宣言的View 宣言的なView codesandboxサンプル https://codesandbox.io/s/lt-sample-1-forked-pk90o?file=/src/App.js ● HTML の中に JavaScript が書かれていて、見た目と動作が同じ場所に書 かれている ● アプリの内部状態がこの状態だったら、この見た目になるべし ● 見た目と動作の分離を防ぐソースコードが書ける ● 仮想DOM:DOMの状態を擬似的に表現したデータを持つ。 ● 画面の変更が発生するたびに「仮想DOM」を作って差分を検知し、その差分 だけを実DOMに反映

Slide 17

Slide 17 text

My First React コンポーネントベース ● Webページやアプリケーションの構成単位を細かい部品単位で作成し、作成 した部品を組み合わせていくのが構築手法。 ● コンポーネント化することで再利用が可能 codesandboxサンプル https://codesandbox.io/s/lt-sample-2-6izcd?file=/src/App.tsx

Slide 18

Slide 18 text

My First React そのほかにも… Redux:Reactでよく使われる状態管理のライブラリ 全体で大きな1つの状態を持ち、その状態に応じて画面全体を描画する仕組 み React Hooks: React v16.8から導入された比較的新しい状態管理方法 等々・・・

Slide 19

Slide 19 text

2. React習得に向けての 自己分析

Slide 20

Slide 20 text

My First React 2. React習得に向けての自己分析 1. ECMAScript(エクマスクリプト)の復習 ● React = 「あくまでJavaScript」基本はJS構文 let arrowFunc = (y) => console.log(y); // アロー関数 let a, b, rest; [a, b] = [10, 20]; console.log(a); // 分割代入 // expected output: 10

Slide 21

Slide 21 text

My First React 2. React習得に向けての自己分析 2. ブラウザレンダリングの仕組みをしっかり理解する React = UIを構築するライブラリ DOM操作の最適化 パフォーマンスチューニング https://gihyo.jp/book/2017/978-4-7741-8967-3

Slide 22

Slide 22 text

3. とにかく作る! (考えるより、慣れろ!)

Slide 23

Slide 23 text

My First React アプリを作ってみた(実装中!)ので紹介します! ・マークダウンエディタ https://codesandbox.io/s/markdown-editor-2e2yd?file=/src/index.tsx 絶賛実装中 ※ マークダウン内容の保存(履歴)、ページ遷移 未実装 <使用技術> ● Node.js, React, TypeScript ● Web Storage(localStorage) ● React Hooks (React 内で状態を管理するための機能)

Slide 24

Slide 24 text

最後に

Slide 25

Slide 25 text

React 楽しい! 手を動かしながら覚える! Try & Error!

Slide 26

Slide 26 text

ご清聴ありがとうございました

Slide 27

Slide 27 text

No.1 手続き型サンプル(html + JavaScript) https://codesandbox.io/s/lt-sample-1-forked-pk90o?file=/src/sample1.html No.2 宣言的 Reactサンプル https://codesandbox.io/s/lt-sample-1-forked-pk90o?file=/src/App.js No.3 コンポーネントベース https://codesandbox.io/s/lt-sample-2-6izcd?file=/src/App.tsx No.4 マークダウンエディタ https://codesandbox.io/s/markdown-editor-2e2yd?file=/src/index.tsx