Open Fumiya-Matsumoto opened 2 years ago
定数には2種類ある
src/images
に保管する
フロントエンドからサーバーサイドのAPIを叩くための関数を定義する以下のファイルを作る
frontend/src/apis/hoge.js
の中にあるイメージfrontend/src/urls/index.js
の中にある文字列であり、例えばapi/v1/posts
のような文字列。このURLが指し示す先を目掛けて関数XがAPIを叩きにいく。
axiosというHTTPクライアントを導入すると、フロントエンドからHTTPリクエストを送ることが非常にシンプルになるらしい
# frontend/
$ npm install axios
フロントエンドからAPIを叩くことに成功。 テストのため、一旦、GET http://localhost:3000/v1/postsは叩けば認証なしで情報が取れるようにしてある。
Udemyを参考に、Headerとルーティングの設定を進めた
概要
フロントエンドを設計する。フロントエンドはReactを使って作る
目的
メモ
Container/Presentational Componentについて
二つを分けるメリット
本アプリケーションのコンポーネント設計
Container層/Component層をディレクトリから分ける。1ページ1Containerとする。
Container層
一旦、以下の4つを作る。ゆくゆくはTeam.jsxなどを作っていきたい。 これらは各ページの最も上部に存在するContainer層で、データを扱う。 中身のボタンやモーダル等は小コンポーネントがレイアウトのみ提供する。
Component層
APIを呼ぶ関数
フロントエンドからAPIを叩く部分を考える。一般的にファイルごとに関心を分離するらしい。 そのため、Reactのコンポーネントはあくまでレイアウトやデータを保持することを担当させる。 その場合に、各種APIを呼ぶ部分を関数化して他のファイルに分けることで関心を分離することができる。
コンポーネントファイルの中にAPIを叩く関数を定義してしまうと、他のページから同じAPIを叩きたい場合にコピペするハメになるため、コンポーネントファイル/API関数ファイルを分ける。
reducer
Reactの組み込みAPIであるReact Hooksを使う。
URLの管理
APIのURL管理も別ファイルに分ける。RailsでURLがroutes.rbにまとまっているように、フロントエンドでも「ここを参照すればURLがわかる」という状態を明確にする。
urls/index.js
を作成して、ここにAPIのURL文字列を定義していく。