SlideShare ist ein Scribd-Unternehmen logo
1 von 18
React
入門編
Reactとは
特徴
htmlの描画などに長けたライブラリ
言語
javascript
開発者(管理者)
Facebook
こんなところで使われています
Reactの優れているところ
● シングルページアプリケーションをシンプルで洗練されたコードでかける
●jqueryに比べると比較的スマートに書ける
●デザイナーもコードをhtml/cssに近い形で開発できる
○ HTMLの書き方に近いので、保守しやすい
とりあえずHello world
https://tsuchiyagig.github.io/reactsample/helloworld/
解説
<div id="app"></div>
~ reactの読み込み ~
ReactDOM.render(
<h1>Hello world!</h1>,
document.getElementById('app')
);
コンポーネントでHelloworld
https://tsuchiyagig.github.io/reactsample/helloworld1.5/
解説
class Welcome extends React.Component {
render() {
return <h1>Hello world!</h1>;
}
}
ReactDOM.render(<Welcome />, document.getElementById('app'));
先程との違いはrenderまでclassで定義し
てあり、htmlがパーツ化されている。
パーツが大きくなってきた場合こちらを
推奨
名前つきHello world
https://tsuchiyagig.github.io/reactsample/helloworld2/
解説
const user = {
name: 'react'
};
ReactDOM.render(
<h1> Hello, {user.name} World! </h1>,
document.getElementById('app')
);
props(値の受け渡し)
https://tsuchiyagig.github.io/reactsample/helloworld3/
解説
function Welcome(props) {
return <h1>Hello, {props.name} World!</h1>;
}
const element = <Welcome name="react" />;
ReactDOM.render(
element,
document.getElementById('app')
);
htmlのエレメントを定義
この値が受け渡されたらここに表示する
を定義
propsを経由しnameに”react”をセットし
表示を行う
イベントでreactを発火しよう
https://tsuchiyagig.github.io/reactsample/button
解説
function tick() {
const element = (
<h1>Hello, world!</h1>
);
ReactDOM.render(
element,
document.getElementById('app')
);
}
document.getElementById('btn').addEventListener('click', tick, false);
clickされたときに発火したいreactの描画
を格納しておく
簡単なlistを作ってみる
https://tsuchiyagig.github.io/reactsample/list/
解説
- 略 -
function UserGender(props){
var gender = props.gender ? '男' : '女';
return <span className="name">{gender}</span>;
}
function UserList(props) {
var listHtml = [];
for (var userObject of props.userObject) {
listHtml.push(<div key={userObject.id}>
名前 : <UserName name={userObject.name} />
年齢 : <UserAge age={userObject.age} />
性別 : <UserGender gender={userObject.gender} />
</div>);
}
return <div>{listHtml}</div>;
}
var userList = getUserList();
const element = <UserList userObject={userList} />;
ReactDOM.render(element, document.getElementById('app'));
各数値を可視化させるための定義
表示用のオブジェクトを定義
各値は定義してあるものを利用する
ユーザーリストを取得し受け渡す。
まとめ
●オブジェクトの分割はかなり設計を考えるとベスト
●現状ではjqueryを使用するのはマストだと思うので、reactとjqueryどちら
で組むかをよく考える
今日の勉強会のソースはここにあります、何かでご活用ください!
https://github.com/Tsuchiyagig/reactsample
Good is good.
We provide opportunities to the SEKAI by fusing technology and ideas.
テクノロジーとクリエイティブでセカイをより良くする
お問い合わせはこちらから
https://giginc.co.jp/contact/

Weitere ähnliche Inhalte

Was ist angesagt?

SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」Naoyuki Kataoka
 
Redux Toolkit - Quick Intro - 2022
Redux Toolkit - Quick Intro - 2022Redux Toolkit - Quick Intro - 2022
Redux Toolkit - Quick Intro - 2022Fabio Biondi
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQLvaluebound
 
Introducing Async/Await
Introducing Async/AwaitIntroducing Async/Await
Introducing Async/AwaitValeri Karpov
 
React js use contexts and useContext hook
React js use contexts and useContext hookReact js use contexts and useContext hook
React js use contexts and useContext hookPiyush Jamwal
 
20190330 RxFlow 시작하기
20190330 RxFlow 시작하기20190330 RxFlow 시작하기
20190330 RxFlow 시작하기Clint Jang
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux IntroductionNikolaus Graf
 
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3Toshiaki Maki
 
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点誠一郎 栗原
 
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetupこれで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線MeetupMasatoshi Tada
 
Sharing Data Between Angular Components
Sharing Data Between Angular ComponentsSharing Data Between Angular Components
Sharing Data Between Angular ComponentsSquash Apps Pvt Ltd
 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
 
Subversionでバージョン管理を!
Subversionでバージョン管理を!Subversionでバージョン管理を!
Subversionでバージョン管理を!Ryuzo Yamamoto
 
Understanding React hooks | Walkingtree Technologies
Understanding React hooks | Walkingtree TechnologiesUnderstanding React hooks | Walkingtree Technologies
Understanding React hooks | Walkingtree TechnologiesWalking Tree Technologies
 

Was ist angesagt? (20)

SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
 
Redux workshop
Redux workshopRedux workshop
Redux workshop
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
Redux Toolkit - Quick Intro - 2022
Redux Toolkit - Quick Intro - 2022Redux Toolkit - Quick Intro - 2022
Redux Toolkit - Quick Intro - 2022
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQL
 
React & GraphQL
React & GraphQLReact & GraphQL
React & GraphQL
 
Introducing Async/Await
Introducing Async/AwaitIntroducing Async/Await
Introducing Async/Await
 
React js use contexts and useContext hook
React js use contexts and useContext hookReact js use contexts and useContext hook
React js use contexts and useContext hook
 
20190330 RxFlow 시작하기
20190330 RxFlow 시작하기20190330 RxFlow 시작하기
20190330 RxFlow 시작하기
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
 
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
 
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点
 
React js basics
React js basicsReact js basics
React js basics
 
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetupこれで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
 
Sharing Data Between Angular Components
Sharing Data Between Angular ComponentsSharing Data Between Angular Components
Sharing Data Between Angular Components
 
React Hooks
React HooksReact Hooks
React Hooks
 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
 
Subversionでバージョン管理を!
Subversionでバージョン管理を!Subversionでバージョン管理を!
Subversionでバージョン管理を!
 
Understanding React hooks | Walkingtree Technologies
Understanding React hooks | Walkingtree TechnologiesUnderstanding React hooks | Walkingtree Technologies
Understanding React hooks | Walkingtree Technologies
 

Ähnlich wie React入門

中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTipsKenjiro Kubota
 
図とコード例で多分わかる React と flux (工事中)
図とコード例で多分わかる React と flux (工事中)図とコード例で多分わかる React と flux (工事中)
図とコード例で多分わかる React と flux (工事中)Teloo
 
【アジャイル道場】Rails勉強会(view編)
【アジャイル道場】Rails勉強会(view編)【アジャイル道場】Rails勉強会(view編)
【アジャイル道場】Rails勉強会(view編)Sosuke Kimura
 
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのかreact-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか暁 三宅
 
最新技術動向(2011年上期)
最新技術動向(2011年上期)最新技術動向(2011年上期)
最新技術動向(2011年上期)Mahito Ogura
 
Web1.0のハイブリッドアプリ開発
Web1.0のハイブリッドアプリ開発Web1.0のハイブリッドアプリ開発
Web1.0のハイブリッドアプリ開発Kenta Tsuji
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門spring_raining
 
Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15Hideki Hashizume
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~Yoshitaka Seo
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみようReact NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみようdcubeio
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版Fumiya Sakai
 
Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with BrowserifyMuyuu Fujita
 
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発Ryosuke Hara
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternAtsushi Kambara
 
React入門-JSONを取得して表示する
React入門-JSONを取得して表示するReact入門-JSONを取得して表示する
React入門-JSONを取得して表示するregret raym
 

Ähnlich wie React入門 (20)

Let's react
Let's reactLet's react
Let's react
 
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
 
図とコード例で多分わかる React と flux (工事中)
図とコード例で多分わかる React と flux (工事中)図とコード例で多分わかる React と flux (工事中)
図とコード例で多分わかる React と flux (工事中)
 
【アジャイル道場】Rails勉強会(view編)
【アジャイル道場】Rails勉強会(view編)【アジャイル道場】Rails勉強会(view編)
【アジャイル道場】Rails勉強会(view編)
 
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのかreact-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
 
最新技術動向(2011年上期)
最新技術動向(2011年上期)最新技術動向(2011年上期)
最新技術動向(2011年上期)
 
Web1.0のハイブリッドアプリ開発
Web1.0のハイブリッドアプリ開発Web1.0のハイブリッドアプリ開発
Web1.0のハイブリッドアプリ開発
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
 
Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15
 
ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~ASP.NET MVC 2 ~新機能の紹介~
ASP.NET MVC 2 ~新機能の紹介~
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
React NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみようReact NativeでTwitterクライアントを作ってみよう
React NativeでTwitterクライアントを作ってみよう
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
GraphQL with React
GraphQL with ReactGraphQL with React
GraphQL with React
 
ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版ReduxとSwiftの組み合わせ:改訂版
ReduxとSwiftの組み合わせ:改訂版
 
Start React with Browserify
Start React with BrowserifyStart React with Browserify
Start React with Browserify
 
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
 
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD PatternApplication Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
 
React入門-JSONを取得して表示する
React入門-JSONを取得して表示するReact入門-JSONを取得して表示する
React入門-JSONを取得して表示する
 
20200304 vuejs
20200304 vuejs20200304 vuejs
20200304 vuejs
 

Mehr von GIG inc.

LT38テーマ3-2
LT38テーマ3-2LT38テーマ3-2
LT38テーマ3-2GIG inc.
 
LT38テーマ3-1
LT38テーマ3-1LT38テーマ3-1
LT38テーマ3-1GIG inc.
 
LT38テーマ2-2
LT38テーマ2-2LT38テーマ2-2
LT38テーマ2-2GIG inc.
 
LT38テーマ2-1
LT38テーマ2-1LT38テーマ2-1
LT38テーマ2-1GIG inc.
 
LT38テーマ1-2
LT38テーマ1-2LT38テーマ1-2
LT38テーマ1-2GIG inc.
 
LT38テーマ1-1
LT38テーマ1-1LT38テーマ1-1
LT38テーマ1-1GIG inc.
 
lt23後半
lt23後半lt23後半
lt23後半GIG inc.
 
lt23前半
lt23前半lt23前半
lt23前半GIG inc.
 
LT.22 GitHub Actionsを触ってみた話
LT.22 GitHub Actionsを触ってみた話LT.22 GitHub Actionsを触ってみた話
LT.22 GitHub Actionsを触ってみた話GIG inc.
 
LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話 LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話 GIG inc.
 
LT.21 SPIN法を活用した人心掌握術
LT.21 SPIN法を活用した人心掌握術LT.21 SPIN法を活用した人心掌握術
LT.21 SPIN法を活用した人心掌握術GIG inc.
 
LT.21 スゴいチームになるフィードバック術
LT.21 スゴいチームになるフィードバック術LT.21 スゴいチームになるフィードバック術
LT.21 スゴいチームになるフィードバック術GIG inc.
 
LT.20 コーディングとマジックナンバー
LT.20 コーディングとマジックナンバーLT.20 コーディングとマジックナンバー
LT.20 コーディングとマジックナンバーGIG inc.
 
LT.20 Wordpress x nuxt.jsで実現するSPA
LT.20 Wordpress x nuxt.jsで実現するSPALT.20 Wordpress x nuxt.jsで実現するSPA
LT.20 Wordpress x nuxt.jsで実現するSPAGIG inc.
 
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」GIG inc.
 
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」
 【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」 【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」GIG inc.
 

Mehr von GIG inc. (20)

Lt41
Lt41Lt41
Lt41
 
Lt40
Lt40Lt40
Lt40
 
Lt39
Lt39Lt39
Lt39
 
LT38テーマ3-2
LT38テーマ3-2LT38テーマ3-2
LT38テーマ3-2
 
LT38テーマ3-1
LT38テーマ3-1LT38テーマ3-1
LT38テーマ3-1
 
LT38テーマ2-2
LT38テーマ2-2LT38テーマ2-2
LT38テーマ2-2
 
LT38テーマ2-1
LT38テーマ2-1LT38テーマ2-1
LT38テーマ2-1
 
LT38テーマ1-2
LT38テーマ1-2LT38テーマ1-2
LT38テーマ1-2
 
LT38テーマ1-1
LT38テーマ1-1LT38テーマ1-1
LT38テーマ1-1
 
lt37
lt37lt37
lt37
 
lt23後半
lt23後半lt23後半
lt23後半
 
lt23前半
lt23前半lt23前半
lt23前半
 
LT.22 GitHub Actionsを触ってみた話
LT.22 GitHub Actionsを触ってみた話LT.22 GitHub Actionsを触ってみた話
LT.22 GitHub Actionsを触ってみた話
 
LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話 LT.22 機械学習におけるPDCAを回せる環境構築の話
LT.22 機械学習におけるPDCAを回せる環境構築の話
 
LT.21 SPIN法を活用した人心掌握術
LT.21 SPIN法を活用した人心掌握術LT.21 SPIN法を活用した人心掌握術
LT.21 SPIN法を活用した人心掌握術
 
LT.21 スゴいチームになるフィードバック術
LT.21 スゴいチームになるフィードバック術LT.21 スゴいチームになるフィードバック術
LT.21 スゴいチームになるフィードバック術
 
LT.20 コーディングとマジックナンバー
LT.20 コーディングとマジックナンバーLT.20 コーディングとマジックナンバー
LT.20 コーディングとマジックナンバー
 
LT.20 Wordpress x nuxt.jsで実現するSPA
LT.20 Wordpress x nuxt.jsで実現するSPALT.20 Wordpress x nuxt.jsで実現するSPA
LT.20 Wordpress x nuxt.jsで実現するSPA
 
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(DONGURI)」
 
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」
 【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」 【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」
【Tech Trend Talk vol.19】社外向け勉強会「拡張するデザイン -(GIG)」
 

React入門