Upgrade to Pro — share decks privately, control downloads, hide ads and more …

React Native × React Router v7 API通信の共通化で考えるべきこと

React Native × React Router v7 API通信の共通化で考えるべきこと

本スライドは、React NativeとWeb(React Router v7)間でのAPI通信の共通化について、その課題と解決策を解説。

一見、共通化は可能に思えるが、実際にはWebとNativeの環境の違い(SWR利用時の挙動、キャッシュの永続化、localhostの扱い、認証トークン保存場所など)により、共通化を深く進めるとhooksが肥大化するなどの困難に直面する。

結論として、共通化の目的は「同じコードにすること」ではなく「変更に強くすること」。
解決策としてOpenAPIを挟んだAPIクライアントとAtom Componentの「薄い共有」から始めると良いかも。

Avatar for Suguru Ohki

Suguru Ohki

January 07, 2026
Tweet

More Decks by Suguru Ohki

Other Decks in Programming

Transcript

  1. Orval って何? 対応しているクライアント • `swr` - SWR フック生成 • `react-query`

    - TanStack Query フック生成 • `axios` / `axios-functions` - Axios ベースのクライアント • `fetch` - Fetch API ベース • その他(vue-query, svelte-query, angular 等)
  2. 地味に躓く箇所 ▪ localhostの扱い(Handling localhost') • Web: localhost • iOS Simulator:

    'localhost' OK • Android Emulator:'10.0.2.2' を使用 ツライが仕方ないね・・・