前提
フロントエンド - React.js
バックエンド - Go
問題
npm start
でサーバを起動した際、React App内で外部APIをfetchすると、CORSエラーが発生する。
すでに行った対処(参考にした記事)
- fetchの第二変数に
{mode: 'cors'}
を追加する。 - GoのResponse Headerに
w.Header().Set("Access-Control-Allow-Origin", "*")
を追加。
この二つの対処では、CORSエラーは解消されなかった。
解決法
ブラウザからのAPIの送り先がlocalhost:4000
の場合は、React Appのpackage.jsonに、
"proxy": "http://localhost:4000",
と追加で記述すると良い。
fetchでlocalhost:4000/api
にリクエストを投げたい時は、
fetch("/api", {mode: 'cors'}).then....
と書く。