React Navigationを使って React Native WebでSPAを試してみた ~ React Native Meetup 2020/5/29 ~
by
tatsuaki watanabe
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
株式会社クリモ CTO 渡邊達明 React Navigationを使って React Native WebでSPAを試してみた ~ React Native Meetup 2020/5/29 ~
Slide 2
Slide 2 text
◉ 自己紹介と最近作っているもの ◉ 画面遷移ライブラリなに使ってますか? ◉ React Navigationのアップデート内容と使い方 ○ ルーティングの指定方法 ○ Deeplinkとの併用 ○ Linkコンポーネントの登場 目次
Slide 3
Slide 3 text
◉ 渡邊 達明(わたなべ たつあき) ◉ Twitter,GitHub: @nabettu ◉ 富士通株式会社→面白法人カヤック→独立 ◉ 妻(代表)と二人で法人 ◉ ネイティブアプリ(React Native with Expo)& Webフロント (Vue.js, React.js)& Firebase周りが専門です 自己紹介
Slide 4
Slide 4 text
NTTコミュニケーションズ 社内ベンチャー発 リアルタイムスポーツ実況解説アプリ ブンデスリーガの配信始めます! SpoLive
Slide 5
Slide 5 text
tabmemo タブで仕分けできるメモアプリ
Slide 6
Slide 6 text
作ってます
Slide 7
Slide 7 text
- wix/react-native-navigation - aksonov/react-native-router-flux - react-navigation/react-navigation - ReactTraining/react-router - その他 React Nativeのルーティング何使ってますか?
Slide 8
Slide 8 text
- wix/react-native-navigation - aksonov/react-native-router-flux - react-navigation/react-navigation - ReactTraining/react-router - その他 今日はReact Navigationについてのお話をします React Nativeのルーティング何使ってますか?
Slide 9
Slide 9 text
React Navigation on the Web 公式ブログ https://reactnavigation.org/blog/2020/05/16/web-supp ort/
Slide 10
Slide 10 text
React Navigation on the Web - 前から React Native Webでの利用は自体はできたけど、 画面が変わるだけでURLも変わらず、リロードしたら状態 がすべてリセットされてました - 個人的にExpoがv34からWebをサポートしたときに、それ を使って3プラットフォーム対応アプリの本を書いてました - https://nabettu.booth.pm/items/1569367 今回はその当時からのアップデート内容について発表します
Slide 11
Slide 11 text
今回のアップデート内容と 実際の利用方法
Slide 12
Slide 12 text
SPA的な”普通の”ルーティングが できるようになりました! - URLでルーティングを保持できるようになった! - navigation.navigate実行時に自動で↑のURLが 更新されるようになった! - historyのpush/popが動くようになった!
Slide 13
Slide 13 text
ルーティングの指定方法 React Navigation v5からの書き方でつけてたname と同じkeyでlinkingを指定すると、自動でURLを変更 してくれます - パラメータもURLに含めたい場合にはコロンで入 れるだけ - URLに載せたい情報だけをパースしたりもできる (stringifyやparseを指定)
Slide 14
Slide 14 text
ルーティングの指定方法
Slide 15
Slide 15 text
これらのルーティングとdeeplinkを 複合的に使えるようになった - ネイティブとアプリ両方を作ってると必要になって くるdeeplink - 特別な実装をしなくても、deeplinkのURLを指定 するだけで実装できます! ←ここんとこ
Slide 16
Slide 16 text
Linkコンポーネントの登場 ~ パスを指定してWebのリンクっぽく書ける - 今までのReact NavigationではWebのaタグが使え ず、リンクにhref属性がつかなかった - 「右クリックで別タブで開く」とかが使えるセマンティッ クな書き方ができるように - Navigation.navigate無しで遷移できる! ※ただ、現状のはテキスト専用になっており、ボタンなどに設定できな いので注意
Slide 17
Slide 17 text
その他細かいアップデート アドレスバーが隠れるように&ドロアーメニュー
Slide 18
Slide 18 text
サンプルとデモ - サンプルサイト https://upgradeexpo37navi5--telopmaker-sampl e.netlify.app/ - サンプルリポジトリ https://github.com/nabettu/telopmaker-sample/t ree/upgradeExpo37Navi5
Slide 19
Slide 19 text
質問あればTwitterでも https://twitter.com/nabettu YouTubeやコミュニティSlackでどうぞ Thanks!