Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Reactのおさらい②.pptx
Report
iPride Co., Ltd.
Follow
iPride Co., Ltd.
Dec. 26, 2022
•
0 likes
0 likes
×
Be the first to like this
Show More
•
48 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
React+redux+saga 03
TIS Inc
20081003
小野 修司
WKWebViewとUIWebView
Yuki Hirai
Spring Rooで作るGWTアプリケーション
Toshiaki Maki
20090212
小野 修司
20090606
小野 修司
scala+liftで遊ぼう
youku
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
yoshitaro yoyo
1
of
18
Top clipped slide
Reactのおさらい②.pptx
Dec. 26, 2022
•
0 likes
0 likes
×
Be the first to like this
Show More
•
48 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
2022/12/23の勉強会で発表されたものです。
iPride Co., Ltd.
Follow
iPride Co., Ltd.
Advertisement
Advertisement
Advertisement
Recommended
Reactのおさらい
iPride Co., Ltd.
57 views
•
15 slides
React+redux+saga 02
TIS Inc
175 views
•
29 slides
React を導入したフロントエンド開発
daisuke-a-matsui
60.3K views
•
69 slides
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
Kohei Asai
75.4K views
•
29 slides
Study Intro Backbone
Gensei Kawasaki
216 views
•
13 slides
20130329 rtm4
openrtm
304 views
•
54 slides
More Related Content
Similar to Reactのおさらい②.pptx
(11)
React+redux+saga 03
TIS Inc
•
152 views
20081003
小野 修司
•
749 views
WKWebViewとUIWebView
Yuki Hirai
•
48.1K views
Spring Rooで作るGWTアプリケーション
Toshiaki Maki
•
1.7K views
20090212
小野 修司
•
419 views
20090606
小野 修司
•
437 views
scala+liftで遊ぼう
youku
•
2K views
3層アーキテクチャとMVCモデル -LaravelにおけるMVCモデルの流れ-
yoshitaro yoyo
•
256 views
Start React with Browserify
Muyuu Fujita
•
3.3K views
20111204 WebBroser Control Tips for Windows Phone
Kenji Wada
•
1.4K views
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
•
81 views
More from iPride Co., Ltd.
(20)
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.
•
28 views
SpringBootにおけるテンプレートエンジンの活用
iPride Co., Ltd.
•
29 views
Java研修
iPride Co., Ltd.
•
14 views
SpringBootの研修本で学んだこと
iPride Co., Ltd.
•
22 views
画像生成AI stable diffusionの紹介2
iPride Co., Ltd.
•
34 views
ビジネスマナー研修で学んだこと ~ 第一印象とコミュニケーション ~
iPride Co., Ltd.
•
26 views
MySQL研修で学んだこと
iPride Co., Ltd.
•
27 views
画像生成AI stable diffusionの紹介
iPride Co., Ltd.
•
108 views
DrupalでBDDテストを 実施してみる②
iPride Co., Ltd.
•
45 views
Pythonでキャッシュを活用する話①
iPride Co., Ltd.
•
155 views
SQLの内部結合と外部結合について
iPride Co., Ltd.
•
67 views
PythonでWebDAVサーバーを作ろう②
iPride Co., Ltd.
•
57 views
ChatAPI.pptx
iPride Co., Ltd.
•
61 views
いろいろな言語で見る「0埋め」の実装方法
iPride Co., Ltd.
•
40 views
SQL文について
iPride Co., Ltd.
•
36 views
Drupal Consoleに特化したモデルを作成する
iPride Co., Ltd.
•
34 views
OpenAI FineTuning を試してみる
iPride Co., Ltd.
•
1.1K views
fetch APIを安全に使う方法をおさらいしてみよう
iPride Co., Ltd.
•
48 views
SCPコマンドについて
iPride Co., Ltd.
•
57 views
Docker入門
iPride Co., Ltd.
•
60 views
Advertisement
Recently uploaded
(20)
☀️【中央兰开夏大学毕业证成绩单留学生首选】
25mjhd12
•
4 views
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 views
本科/硕士《加拿大温莎大学毕业证成绩单》
1523dsa
•
2 views
Omnis
DaisukeFujita10
•
11 views
本科/硕士《德国雷根斯堡大学毕业证成绩单》
nxj1dsa
•
3 views
Apache EventMesh を使ってみた
Yoshiyasu SAEKI
•
39 views
①【汤普森河大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
第2回Matlantis User Conference_20230421_久間薫先生
Matlantis
•
281 views
ネットワークパケットブローカー市場.pdf
HinaMiyazu
•
3 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
15 views
オレオレになりがちなテスト計画を見直した話
terahide
•
25 views
点群SegmentationのためのTransformerサーベイ
Takuya Minagawa
•
12 views
シン3次元表示装置 ーその1ー
Takashi Yamanoue
•
126 views
JSTQB_テストプロセスの概念モデル.pdf
akipii Oga
•
28 views
①【威斯康星大学麦迪逊分校毕业证文凭学位证书|工艺完美复刻】
C25lokh12
•
3 views
ChatGPT以後の時代をどう生きるか PWA Night vol.51
hedachi
•
57 views
GitHub Copilotとともに次の開発体験へ
Kazumi IWANAGA
•
15 views
①【戴尔豪斯大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
UAV写真・レーザー測量test.pptx
ssuserb48d2b1
•
13 views
☀️【卡尔顿大学毕业证成绩单留学生首选】
15sad
•
2 views
Reactのおさらい②.pptx
Reactのおさらい② 執筆者:トビウオ 〜状態 (state) の管理について〜
• 前回のあらすじ • 状態(state)とは •
状態管理の必要性 • Web標準における状態管理 • Reactにおける状態管理 • 「状態のバケツリレー」 目次
前回のあらすじ • 三大Webフロントエンドフレームワークの一角、React npm trendsより取得。vueが跳ねてるのはvue
3が出てきたから
• 各要素をコンポーネント に分割し、その粒度を積 み上げることでWebペー ジを構成する • 再利用性が高く、応用力 が高いUI構築が可能 入力部分 出力部分 画面全体 前回のあらすじ
前回のあらすじ export const OutputTag
= ({list}:{list: string[]}) => { return <> <h1>TODO一覧:</h1> <ul>{list.map((w,i) =>(<li key={i}>{w}</li>))}</ul> </>; } <OutputTag list={dataList}/> Componentの使用方法 描画したもの Componentの定義
前回のあらすじ export const OutputTag
= ({list}:{list: string[]}) => { return <> <h1>TODO一覧:</h1> <ul>{list.map((w,i) =>(<li key={i}>{w}</li>))}</ul> </>; } 属性の定義 タグ名の定義 どのようなHTMLを返すか? Componentの使用方法
state(状態) Web 表示 従来のような サーバーサイドレンダリングの場合 サーバー クライアント HTTP リクエスト HTTP レスポンス 状態(state)とは
状態(state)とは 表示 state(状態) Web state(状態) サーバー クライアント HTTP レスポンス HTTP リクエスト シングルページアプリケーションの場合
状態管理の必要性 • Webサイトではしばしば「状態」を問われる • 通販サイトならカートの中 •
ログインするサイトならアカウントの状態 • ゲームならプレイ中の状況(持ち物など) • ReactなどSPAだと、クライアントが保持するこ とが多い
管理方法 難易度 リロード時
自由度 メモリ上に保持 簡単 消える 高い URL上 簡単 消えない 低い Cookie 難しい 消えない 低い localStorage 普通 消えない 普通 IndexedDB 難しい 消えない 高い Reactではこちらを 多用する Web標準における状態管理
Reactにおける状態管理 export const CountButton
= () => { const [count, setCount] = useState(0); const add = () => setCount(count + 1); return <button onClick={add}> Count: {count} </button>; } Componentの定義の中で、「useState」という関数が使用できる
Reactにおける状態管理 export const CountButton
= () => { const [count, setCount] = useState(0); const add = () => setCount(count + 1); return <button onClick={add}> Count: {count} </button>; } 「const [変数名, 変数を変更するための関数] = useState(初期値);」 といった書式で使う
• 「変数」はそのまま使う(読み込み専用)。「変数を変更するための 関数」の引数に値をセットすると、「変数」が書き換わる Reactにおける状態管理 export const
CountButton = () => { const [count, setCount] = useState(0); const add = () => setCount(count + 1); return <button onClick={add}> Count: {count} </button>; }
Reactにおける状態管理 export const CountButton
= () => { const [count, setCount] = useState(0); const add = () => setCount(count + 1); return <button onClick={add}> Count: {count} </button>; }
Reactにおける状態管理 • 数字以外にも、任意の型で用意できる • const
[x, setX] = useState(‘foobar’); • const [y, setY] = useState({ a: 3, b: ‘z’ }); • object型で用意した場合も、全部を置き換える必 要がある • 「setY({ a: 4, b: ‘w’ });」などと記述する
const CountButton =
() => { const [count, setCount] = useState(0); return <LabelButton label={`Count: ${count}`}>; } count LabelButton = ({label}:{label: string}) => { return <button>{label}</button> } 「状態」のバケツリレー この場合、CountButtonからLabelButtonに、stateの情報が渡されている
const App =
()=> { return <MainWindow> <Frame1> <Form1> <Foo /> </Form1> <Form2> <Bar /> </Form2> </Frame1> </MainWindow>; } 「状態」のバケツリレー • 左のように階層が嵩むと、 stateを渡すための属性の ため、定義がどんどん肥大 化しがち
「状態」のバケツリレー • この問題を解決す る技術はあるが、 説明は別の機会に ……
Advertisement